将DataView中的行添加到最后一个位置
本文关键字:最后一个 位置 添加 DataView | 更新日期: 2023-09-27 18:20:41
我需要在DataView中的最后一个位置添加行。我已经使用了Dv.Table.rows.InsertAt(),但它按指定列对行进行排序。
我需要一些东西
- 首先,我在dataview中添加表,并按指定列进行排序
- 然后我需要在dataview的末尾添加列(添加的行不应该排序),而不中断已经排序的行
发生了什么
-
当我在dataview的表中添加值时,它按指定列排序。
-
或者,如果我在dataview中添加值,第一行添加在末尾,第二行添加在开头。。
请帮忙。。
您必须在Gridview之外对数据进行排序,然后将数据放入Gridview,而不设置Gridview的排序属性。然后您可以添加新行,它将显示在末尾。
你可以试试这个。这绝不是一个完美的解决方案。你可以考虑这个问题,直到你得到一个好的解决方案。
在这里,我对要绑定到网格的数据表进行排序,而不是对数据网格视图本身进行排序。
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add("3", "Entered 1st");
dt.Rows.Add("1", "Entered 2nd");
dt.Rows.Add("2", "Entered 3rd");
首先对数据表进行排序。使用defalutview将其复制到另一个表中。ToTable方法,并添加新行。
dt.DefaultView.Sort = "ID ASC";
DataTable dtnew = new DataTable();
dtnew = dt.DefaultView.ToTable();
dtnew.Rows.Add("1", "Should be last row");
dataGridView1.DataSource = dtnew;
希望能有所帮助。
您可以将数据视图保存在数据表中,然后添加最后一行:
dt.DefaultView.Sort = "Column Name";
dt = dt.DefaultView.ToTable();
dt.Rows.InsertAt(row,pos);