使用表格与表格与制表符和自定义控件显示数据?

时间:2011-10-06 07:57:40

标签: .net winforms

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

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

在流程开始时,程序应将项目放入组中以显示给用户。每个组还应包含该组共有的信息,例如姓名,项目数。

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

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

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

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

我对C#很新,但取得了很好的进展。这是一个桌面winforms应用程序。 VS2010与.net 4。

我还没有做过拖拽删除或自定义控件,但我也愿意将此项目用作学习体验。

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

我可以:

  • 使用项目的数据网格创建自定义控件;共同信息的字段;重复我需要的任意数量的自定义控件

  • 使用datagrid&创建表单领域;有一个MDI主表单来包含子表单

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

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

我错过了其他任何人吗?

我希望就最佳前进方向提供一些建议,或者对某些解决方案提出一些建议。

我喜欢长形式的自定义控件。用户从顶部开始向下工作;在物品遇到它们时移动和编辑它们。

TIA,andrew

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

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

Sample

2 个答案:

答案 0 :(得分:0)

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

enter image description here

在顶部我使用按钮来过滤网格内容,红色表示不显示组。 在这种情况下,我选择了复选框上的按钮,因为我觉得它们更方便,更快速。

下面是“工作区域”,一个带有数据空间的大网格。第一列包含组,并且像上面的按钮一样着色。

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

使用Combobox列更改组(不在屏幕截图中,对不起),因此您可以在按下“保存”按钮时使用其他数据处理组更改。

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

答案 1 :(得分:0)

经过一些试验和错误,我发现一个很长的列表无法使用。

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