我需要允许用户处理一些数据。数据是100个被标记为10个不同组的项目。
每个项目都包含需要显示的名称,数量,参考等数据。
在流程开始时,程序应将项目放入组中以显示给用户。每个组还应包含该组共有的信息,例如姓名,项目数。
分组不会100%准确;我需要允许用户在组之间移动项目。这应该更新公共信息中的项目数。
我还需要用户能够从头开始添加项目,或者编辑或删除。就像datagridview一样。
一旦所有数据都在正确的组中,用户就会按下一个处理按钮然后处理数据。
我的查询是如何最好地向用户呈现数据?
我对C#很新,但取得了很好的进展。这是一个桌面winforms应用程序。 VS2010与.net 4。
我还没有做过拖拽删除或自定义控件,但我也愿意将此项目用作学习体验。
我确实意识到无论我采用哪种解决方案,都需要大量的显示空间。
我可以:
使用项目的数据网格创建自定义控件;共同信息的字段;重复我需要的任意数量的自定义控件
使用datagrid&创建表单领域;有一个MDI主表单来包含子表单
创建一个标签式表单,每个组一个标签;可能有一个“移动到”控制来将项目从一个标签移动到另一个标签。
使用表格创建长格式列表。每组的标题出现在每组的开头;行重复在下面;创建新行会在表中插入一行。
我错过了其他任何人吗?
我希望就最佳前进方向提供一些建议,或者对某些解决方案提出一些建议。
我喜欢长形式的自定义控件。用户从顶部开始向下工作;在物品遇到它们时移动和编辑它们。
TIA,andrew
编辑:谢谢Salazaar,但我意识到重新阅读我对团体的意图可能并不清楚。这是我认为一个控件/部分看起来像的图像。发票可以从一个“目的地”移动到另一个“目的地”:
答案 0 :(得分:0)
我只是喜欢简单的解决方案,所以我试图创建一个:
在顶部我使用按钮来过滤网格内容,红色表示不显示组。 在这种情况下,我选择了复选框上的按钮,因为我觉得它们更方便,更快速。
下面是“工作区域”,一个带有数据空间的大网格。第一列包含组,并且像上面的按钮一样着色。
底部是要保存的按钮或添加新行等。
使用Combobox列更改组(不在屏幕截图中,对不起),因此您可以在按下“保存”按钮时使用其他数据处理组更改。
希望得到帮助。 建设性批评是值得赞赏的。答案 1 :(得分:0)
经过一些试验和错误,我发现一个很长的列表无法使用。
我采用了混合方法,在MDI父级中使用MDI子窗口和制表符控件。因此,您可以使用父项上的选项卡来调出MDI子项;或者单击子窗口以设置焦点。