добавить строку в DataView в последней позиции - PullRequest
0 голосов
/ 19 января 2012

Мне нужно добавить строку в DataView в последней позиции.Я уже использовал Dv.Table.rows.InsertAt (), но он сортирует строку по столбцу Specify.

Мне нужно что-то вроде.

  • сначала я добавляю таблицу в dataview и сортирую по указанному столбцу.
  • , затем мне нужно добавить столбец в конце (добавленная строка не должна сортироваться) из dataview без прерывания уже отсортированнойстрока.

что происходит

  • Когда я добавляю значение в таблицу в dataview, оно получает сортировку по указанному столбцу.

  • Или, если я добавлю значение в dataview, первая строка добавляется в конце, а вторая строка добавляется сначала ..

Просьба помочь ..

Ответы [ 3 ]

1 голос
/ 19 января 2012

Вы должны отсортировать данные вне Gridview, затем поместить данные в Gridview, не устанавливая свойство сортировки Gridview. Затем вы можете добавить новую строку, и она будет отображаться в конце.

0 голосов
/ 01 февраля 2017

Вы можете сохранить вид данных в виде данных и добавить последнюю строку после этого:

dt.DefaultView.Sort = "Column Name";
dt = dt.DefaultView.ToTable();
dt.Rows.InsertAt(row,pos);
0 голосов
/ 19 января 2012

Вы можете попробовать это.Это ни в коем случае не идеальное решение.Вы можете рассмотреть это, пока не получите хорошее решение.

Здесь я сортирую таблицу данных, которая должна быть привязана к сетке, а не саму сетку данных.

        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;

Надеюсь, это поможет.

...