在.net中的DataGrid中的特定位置创建新行。

问题描述 投票:0回答:1

我正在使用vb.net工作,我有一个对象DataRow,属性是name, surname, age, salary。我已经添加了50个这些对象到DataRow列表中,然后grid.dataSource = list of DataRow对象来填充一个网格。

我想在网格中选择一行后,我可以点击一个按钮,然后在网格中创建一个新的行(所选行的副本),就在所选行之后。我怎样才能解决这个问题?

.net vb.net gridview datagridview datagrid
1个回答
0
投票

只要通过一些唯一的东西对你的网格进行排序,默认情况下。新的行将与现有的行和插入时具有相同的值,因此最终会在旧项目附近排序。不管它是在旧行之前还是之后,都没有那么重要,因为它们是相互克隆的。

如果你计划向用户提供排序的选项,而他们可能会用一些不是很独特的东西来排序,你就需要通过一个独特的第二级排序来更好地保持网格的排序。

一种方法可能是将一个递增的SortOrder作为数据的一部分(按一些合理的顺序递增,比如按名字递增),每次网格按X排序时,添加一个引用SortOrder的第二个排序级别。当添加新的行时,使克隆的SortOrder成为被克隆行的加一,并将其他较高的SortOrder值向上调整一个。


在用户界面上,最好是有一堆文本数字数据组合复选框等,让用户在其中输入数值,然后点击添加;单个控件的功能比在网格中输入数值要好。

© www.soinside.com 2019 - 2024. All rights reserved.