2012-01-19 3 views
0

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

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

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

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

  • , когда я добавить значение в таблице в DataView он получил сортировку по колонке укажите.

  • Или, если я добавить значение в DataView первая строка добавляется в конец и от второго rowadded на первый ..

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

ответ

1

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

0

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

Здесь я сортирую 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; 

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

0

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

dt.DefaultView.Sort = "Column Name"; 
dt = dt.DefaultView.ToTable(); 
dt.Rows.InsertAt(row,pos); 
Смежные вопросы