Обновите сетку данных в событии завершения, используя приложение Windows. - PullRequest
0 голосов
/ 15 декабря 2011
  1. привязать сетку данных при загрузке формы.

    DataGrid1.DataSource = objBindinglist
    
  2. Изменено значение в сетке данных

    DataGrid1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
       DataGridViewCell cell = null;
    
       if (e.RowIndex > -1 && e.ColumnIndex > -1)
       {
         cell = ((DataGridView)sender).Rows[e.RowIndex].Cells[e.ColumnIndex];
        ((DataGridView)sender).Rows[e.RowIndex].Cells[sates.Index].Value = cell;
       }
    }
    
  3. после редактирования я хочу обновить сетку данных.

    private void DataGrid1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
      ((DataGridView)sender).DataSource = null;
      var lstDataSource = 
        ((BindingList<person>)(((DataGridView)sender).DataSource))
        .OrderByDescending(x => x.sates).ToList();
    objBindinglist = new BindingList<person>(lstDataSource);
    DataGrid1.DataSource = objBindinglist;
    
  4. один список связывания объявлен вверху.

     BindingList<person> objBindinglist = new BindingList<person>();
    

Вопрос:Можно ли привязать список обновлений к ограниченной сетке данных?когда я даю источник данных равен null в событии endit, он выдает ошибку.

1 Ответ

0 голосов
/ 15 декабря 2011

Я думаю, что вам будет очень трудно изменить источник данных в событии EndEdit, потому что сетка, скорее всего, все еще нуждается в этих данных.

Если ваша цель состоит в простом преобразовании данных, вы быбыть намного лучше, используя встроенный механизм сортировки.Когда вы настраиваете свою сетку, задайте столбец, в котором вы хотите отсортировать данные, в свойстве SortColumn и установите для свойства SortOrder значение System.Windows.Forms.SortOrder.Descending.

Если сетка не обновляется правильнопосле завершения редактирования просто вызовите метод Sort.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...