Compartilhar via


DataControlRowState Enumeração

Definição

Especifica o estado de uma linha em um controle de dados, como DetailsView ou GridView.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState = 
Public Enum DataControlRowState
Herança
DataControlRowState
Atributos

Campos

Alternate 1

Indica que a linha de controle de dados é uma linha alternativa.

A qualquer momento, é possível combinar o estado Alternate com outros estados, como Normal, Edit ou Insert. Essas linhas podem ser afetadas pela propriedade AlternateRowStyle do controle de dados, se definido.

Edit 4

Indica que a linha está em um estado de edição, geralmente o resultado de clicar em um botão de edição para a linha. Normalmente, os estados Edit e Insert são mutuamente exclusivos.

Insert 8

Indica que a linha é uma nova linha, geralmente o resultado de clicar em um botão de inserção para adicionar uma nova linha. Normalmente, os estados Insert e Edit são mutuamente exclusivos.

Normal 0

Indica que a linha de controle de dados está em um estado normal. O estado Normal é mutuamente exclusivo com outros estados, exceto o estado Alternate.

Selected 2

Indica que a linha foi selecionada pelo usuário.

Exemplos

O exemplo a seguir demonstra como usar a DataControlRowState enumeração para renderizar uma interface do usuário com base no estado de uma linha em um GridView controle. A RadioButtonField classe, que é um controle de campo personalizado que deriva do CheckBoxField controle, renderiza um botão de opção associado a dados para cada linha em um GridView controle. Quando a linha está exibindo dados para um usuário e não está no modo de edição, o RadioButton controle é desabilitado. Quando o usuário atualiza uma linha GridView e a linha está no modo de edição, o RadioButton controle é renderizado como habilitado para que ele possa ser clicado. O exemplo usa operadores AND bit a bit, pois o estado da linha pode ser uma combinação de um ou mais DataControlRowState valores. Este exemplo faz parte de um exemplo maior fornecido para a DataControlField classe.

// This method adds a RadioButton control and any other 
// content to the cell's Controls collection.
protected override void InitializeDataCell
    (DataControlFieldCell cell, DataControlRowState rowState) {

  RadioButton radio = new RadioButton();

  // If the RadioButton is bound to a DataField, add
  // the OnDataBindingField method event handler to the
  // DataBinding event.
  if (DataField.Length != 0) {
    radio.DataBinding += new EventHandler(this.OnDataBindField);
  }

  radio.Text = this.Text;

  // Because the RadioButtonField is a BoundField, it only
  // displays data. Therefore, unless the row is in edit mode,
  // the RadioButton is displayed as disabled.
  radio.Enabled = false;
  // If the row is in edit mode, enable the button.
  if ((rowState & DataControlRowState.Edit) != 0 ||
      (rowState & DataControlRowState.Insert) != 0) {
    radio.Enabled = true;
  }

  cell.Controls.Add(radio);
}
' This method adds a RadioButton control and any other 
' content to the cell's Controls collection.
Protected Overrides Sub InitializeDataCell( _
    ByVal cell As DataControlFieldCell, _
    ByVal rowState As DataControlRowState)

    Dim radio As New RadioButton()

    ' If the RadioButton is bound to a DataField, add
    ' the OnDataBindingField method event handler to the
    ' DataBinding event.
    If DataField.Length <> 0 Then
        AddHandler radio.DataBinding, AddressOf Me.OnDataBindField
    End If

    radio.Text = Me.Text

    ' Because the RadioButtonField is a BoundField, it only 
    ' displays data. Therefore, unless the row is in edit mode, 
    ' the RadioButton is displayed as disabled.
    radio.Enabled = False
    ' If the row is in edit mode, enable the button.
    If (rowState And DataControlRowState.Edit) <> 0 _
        OrElse (rowState And DataControlRowState.Insert) <> 0 Then
        radio.Enabled = True
    End If

    cell.Controls.Add(radio)
End Sub

Comentários

A DataControlRowState enumeração identifica o estado de uma linha em um controle de dados, como DetailsView ou GridView. O estado de uma linha pode ser um ou uma combinação dos DataControlRowState valores, portanto, use operações bit a bit para determinar se o estado da linha inclui um DataControlRowState valor, em vez de um teste de equivalência. A DataControlRowState enumeração é usada para qualquer tipo de linha, não apenas DataRow para linhas (normalmente, o estado das linhas de cabeçalho e rodapé é definido como Normal).

Você pode usar a DataControlRowState enumeração para identificar o estado de um GridViewRow ou DetailsViewRow objeto ao enumerar por meio de uma GridViewRowCollection ou DetailsViewRowCollection coleção, respectivamente. Se você estiver escrevendo um controle de dados que usa linhas, poderá usar a DataControlRowState enumeração para identificar quando renderizar cores diferentes para uma linha (o Alternate valor) ou controles que estão habilitados ou desabilitados para editar uma linha (e valores Edit Insert ).

Aplica-se a

Confira também