2011-10-06 78 views
1

我需要允许用户处理一些数据。数据是说100个项目被标记为说10个不同的组。显示表格vs表格与标签vs自定义控件的数据?

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

在过程中,程序应当采取项目并将它们放入组以显示给用户的开始。每个组还应该包含该组通用的信息,例如名称,项目数量。分组不会100%准确;我需要允许用户在组之间移动项目。这应该更新公共信息中的项目数量。

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

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

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

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

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

我也知道无论我去哪个解决方案,将有一个巨大的所需的显示空间量。

我能:

  • 创建的项目一个DataGrid的自定义控制;公共信息领域;重复尽可能多的自定义控件,因为我需要

  • 创建的DataGrid &字段的表格;具有MDI主形式来包含子形成

  • 创建每组一个标签选项卡式形式;可能有一个“移动到”控件将项目从一个标签移动到另一个标签。

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

其他我错过了?

我希望一些建议的最佳方式向前或一些疑难杂症的与一些解决方案。

我喜欢长形式的自定义控件的想法。用户从顶部开始并朝下走;在碰到它们时移动和编辑项目。

TIA,安德鲁

编辑:感谢Salazaar,但我知道在读重了我的意图与群体可能不是很清楚。

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

Sample

回答

0

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

我已经走了在MDI父项中使用MDI子窗口和选项卡控件的混合方法。所以你可以使用父母的标签来调出MDI的孩子;或者点击子窗口设置焦点。

0

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

enter image description here

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

下面是“工作区”,这是一个大型网格,其中包含用于数据的空间。第一列包含组,并且像上面的按钮一样被着色。

在底部以节省或增加新行等按钮

该组将与组合框的列(而不是在截图,不好意思)来改变,这样你就可以处理好与其他组的变化按下保存按钮时的数据。

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

+0

我应该提及的项目只能在一个组上。你的按钮想法与我的标签想法类似,可能使用较少的空间,因为两行按钮而不是一行标签;或者像一些MS应用程序那样真的很杂乱。我非常感谢创建模拟演示的努力 - 谢谢,安德鲁 – andrew