Отображать удаленный поток данных в (инфраструктурной.Ультра-) сетке

StackOverflow https://stackoverflow.com/questions/1411874

  •  05-07-2019
  •  | 
  •  

Вопрос

возможно ли отобразить DataRow из DataTable, у которого есть DataRowState.Удалено?

Сценарий:Пользователь может редактировать некоторую поисковую информацию, которая представлена в таблице.Теперь он / она может удалять, изменять или вставлять несколько записей и, наконец, сохранять все свои изменения одним щелчком мыши в базе данных (при условии, что нет нарушения первичного ключа или какой-либо другой проблемы).

Теперь я хочу раскрасить разные строки в соответствии с их статусом редактирования, но удаленные строки немедленно исчезают.

Есть ли у вас какая-нибудь идея или другой подход к решению этой проблемы?

Это было полезно?

Решение

Редактировать:Я понял , что Grid вы используете не DataGridView.Для всех, кто хочет сделать то же самое с DataGridView, они могут сделать следующее:

  1. Создать DataView:

    DataView myDataView = 
          new DataView(myDataTable, 
                       String.Empty,       // add a filter if you need one
                       "SortByColumn",
                       DataViewRowState.OriginalRows | DataViewRowState.Deleted); 
    
    myDataGridView.DataSource = myDataView;
    
  2. Ручка UserAddedRow, UserDeletedRow и CellValueChanged Мероприятия:

    private void myDataGridView_UserAddedRow
                (object sender, DataGridViewRowEventArgs e)
    {
        e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#CCFF99");
    }
    
    private void myDataGridView_UserDeletedRow
                (object sender, DataGridViewRowEventArgs e)
    {
        e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFCC99");
    }
    
    private void myDataGridView_CellValueChanged
                (object sender, DataGridViewCellEventArgs e)
    {
       myDataGridView[e.ColumnIndex, e.RowIndex].DefaultCellStyle.BackColor 
                                              = ColorTranslator.FromHtml("#FFFF99");
    }
    
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top