【问题标题】:Display data with tables vs forms vs tabs vs custom controls?使用表格和表单、标签和自定义控件显示数据?
【发布时间】:2011-10-06 07:57:40
【问题描述】:

我需要允许用户处理一些数据。数据是说 100 个项目,这些项目被标记为 10 个不同的组。

每个项目都包含需要显示的名称、数量、参考等数据。

在流程开始时,程序应获取项目并将它们分组以显示给用户。每个组还应包含该组共有的信息,例如名称、项目数。

分组不会 100% 准确;我需要允许用户在组之间移动项目。这应该会更新公共信息中的项目数。

我还需要用户能够从头开始添加项目,或者编辑或删除。即像一个datagridview。

一旦所有数据都在正确的组中,用户按下处理按钮,然后我处理数据。

我的查询是如何最好地将数据呈现给用户?

我对 C# 还很陌生,但取得了不错的进步。这是一个桌面winforms应用程序。 VS2010 与 .net 4.

我还没有完成拖放或自定义控件,但我也愿意将此项目用作学习体验。

我确实意识到,无论我采用哪种解决方案,都需要大量的显示空间。

我可以:

  • 为项目创建一个带有数据网格的自定义控件;公共信息字段;根据需要重复任意数量的自定义控件

  • 使用数据网格和字段创建表单;有一个 MDI 主窗体来包含子窗体

  • 创建一个选项卡式表单,每组一个选项卡;可能有一个“移动到”控件来将项目从一个选项卡移动到另一个选项卡。

  • 使用表格创建长格式列表。每个组的标题出现在每个组的开头;行在下面重复;创建新行将一行插入到表中。

还有其他我错过了吗?

我希望获得一些关于最佳前进方向的建议,或者一些解决方案的一些陷阱。

我喜欢长格式自定义控件的想法。用户从顶部开始向下工作;移动和编辑遇到的项目。

TIA,安德鲁

编辑:感谢 Salazaar,但我意识到在重新阅读我与团体的意图时可能不清楚。

这是我认为一个控件/部分可能看起来的图像。发票可以从一个“目的地”移动到另一个:

【问题讨论】:

    标签: .net winforms


    【解决方案1】:

    嗯,我只是喜欢简单的解决方案,所以我尝试创建一个:

    在顶部我使用按钮来过滤网格的内容,红色表示不显示组。 在这种情况下,我选择按钮而不是复选框,因为我认为它们使用起来更方便、更快捷。

    下面是“工作区”,一个带有大量数据空间的大网格。第一列包含组,颜色与上面的按钮类似。

    底部是保存或添加新行等按钮。

    组将使用组合框列进行更改(不在屏幕截图中,抱歉),因此您可以在按下保存按钮时使用其他数据处理组更改。

    希望有所帮助。 建设性的批评是值得赞赏的。

    【讨论】:

    • 我应该提到项目只能在一组。您的按钮想法与我的选项卡想法相似,可能使用更少的空间,因为两排按钮而不是一排选项卡;或者像某些 MS 应用程序那样非常混乱的多行选项卡。我非常感谢创建模拟演示的努力 - 谢谢,安德鲁
    【解决方案2】:

    经过反复试验,我发现一个很长的列表是不可用的。

    我采用了一种混合方法,即在 MDI 父窗口中使用 MDI 子窗口和选项卡控件。因此,您可以使用父项上的选项卡来调出 MDI 子项;或单击子窗口设置焦点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多