C# 将数据视图中的行添加到最后一个位置

C# 将数据视图中的行添加到最后一个位置,c#,asp.net,linq,dataview,C#,Asp.net,Linq,Dataview,我需要将数据视图中的行添加到最后一个位置。 我已经使用了Dv.Table.rows.InsertAt(),但它按指定列对行进行排序 我需要像这样的东西。 首先,我在dataview中添加表并按指定列排序 然后我需要在dataview的末尾添加列(添加的行不应该是sort),而不中断已经排序的行 发生了什么事 当我在dataview的表中添加值时,它按指定列进行排序 或者,如果我在dataview中添加值,则在末尾添加第一行,在第一行添加第二行 请提供帮助。您必须在Gridview之外对数

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

我需要像这样的东西。

  • 首先,我在dataview中添加表并按指定列排序
  • 然后我需要在dataview的末尾添加列(添加的行不应该是sort),而不中断已经排序的行
发生了什么事

  • 当我在dataview的表中添加值时,它按指定列进行排序

  • 或者,如果我在dataview中添加值,则在末尾添加第一行,在第一行添加第二行


请提供帮助。

您必须在Gridview之外对数据进行排序,然后将数据放入Gridview,而无需设置Gridview的排序属性。然后您可以添加新行,它将显示在末尾。

您可以尝试此操作。这决不是一个完美的解决方案。你可以考虑这个问题,直到找到一个好的解决方案。 这里我对要绑定到网格的datatable进行排序,而不是datagridview本身

        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;

希望有帮助。

您可以将dataview保存在datatable中,然后添加最后一行:

dt.DefaultView.Sort = "Column Name";
dt = dt.DefaultView.ToTable();
dt.Rows.InsertAt(row,pos);