DataControlRowState Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Atributos
Campos
Alternate | 1 | Indica que a linha de controle de dados é uma linha alternativa. A qualquer momento, é possível combinar o estado |
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
).