2009-09-11 3 views
0

Можно ли отобразить DataRow из DataTable с DataRowState.Deleted?Отобразить удаленный DataRow в сетке (Infragistics.Ultra-)

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

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

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

ответ

0

Редактировать: Я понял, что 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"); 
    } 
    
+0

@Vivek: спасибо. Опция display для разных DataRowStates в DataView была безупречной, что я искал. – Viper