Frage

ist es möglich, eine DataRow aus einer Datentabelle angezeigt werden, die die DataRowState.Deleted hat?

Szenario: Der Benutzer kann eine Art von Lookup-Informationen bearbeiten, die im Raster dargestellt werden. Jetzt kann er / sie löschen, ändern oder mehrere Einträge einfügen und schließlich alle speichern ihren / seinen Änderungen mit einem Klick auf die Datenbank (vorausgesetzt, es gibt keine Primärschlüsselverletzung ist oder ein anderes Problem).

Jetzt möchte ich die verschiedenen Reihen kolorieren nach ihrer edit-Status, aber die gelöschten Zeilen verschwinden sofort.

Haben Sie eine Idee oder einen anderen Ansatz, um dieses Problem zu lösen?

War es hilfreich?

Lösung

Edit: Ich erkannte, dass die Grid Sie verwenden, ist nicht DataGridView. Für alle, die das gleiche mit DataGridView tun will, kann sie wie folgt vor:

  1. Erstellen Sie eine DataView:

    DataView myDataView = 
          new DataView(myDataTable, 
                       String.Empty,       // add a filter if you need one
                       "SortByColumn",
                       DataViewRowState.OriginalRows | DataViewRowState.Deleted); 
    
    myDataGridView.DataSource = myDataView;
    
  2. Handle UserAddedRow, UserDeletedRow und CellValueChanged Veranstaltungen:

    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");
    }
    
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top