Pergunta

é possível exibir um DataRow de um DataTable que tem a DataRowState.Deleted?

Cenário: O usuário pode editar algum tipo de pesquisa-informações que são apresentadas na grade. Agora ele / ela pode apagar, modificar ou inserir várias entradas e, finalmente, armazenar todo o seu / sua mudanças com um clique no banco de dados (assumindo que não há-key-violação primária ou algum outro problema).

Agora eu quero colorir as linhas diferentes de acordo com seu edit-status, mas o excluída linhas desaparecem imediatamente.

Você tem alguma idéia ou outra abordagem para resolver este problema?

Foi útil?

Solução

Edit: Eu percebi que o Grid você está usando não é DataGridView. Para quem quer fazer o mesmo com DataGridView, eles podem fazer o seguinte:

  1. Criar um 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 Handle, UserDeletedRow e CellValueChanged Eventos:

    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");
    }
    
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top