将DataView中的行添加到最后一个位置

本文关键字:最后一个 位置 添加 DataView | 更新日期: 2023-09-27 18:20:41

我需要在DataView中的最后一个位置添加行。我已经使用了Dv.Table.rows.InsertAt(),但它按指定列对行进行排序。

我需要一些东西

  • 首先,我在dataview中添加表,并按指定列进行排序
  • 然后我需要在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);