DataControlField.InitializeCell Metodo

Definizione

Aggiunge testo o controlli alla raccolta di controlli di una cella.

public:
 virtual void InitializeCell(System::Web::UI::WebControls::DataControlFieldCell ^ cell, System::Web::UI::WebControls::DataControlCellType cellType, System::Web::UI::WebControls::DataControlRowState rowState, int rowIndex);
public virtual void InitializeCell(System.Web.UI.WebControls.DataControlFieldCell cell, System.Web.UI.WebControls.DataControlCellType cellType, System.Web.UI.WebControls.DataControlRowState rowState, int rowIndex);
abstract member InitializeCell : System.Web.UI.WebControls.DataControlFieldCell * System.Web.UI.WebControls.DataControlCellType * System.Web.UI.WebControls.DataControlRowState * int -> unit
override this.InitializeCell : System.Web.UI.WebControls.DataControlFieldCell * System.Web.UI.WebControls.DataControlCellType * System.Web.UI.WebControls.DataControlRowState * int -> unit
Public Overridable Sub InitializeCell (cell As DataControlFieldCell, cellType As DataControlCellType, rowState As DataControlRowState, rowIndex As Integer)

Parametri

cell
DataControlFieldCell

Oggetto DataControlFieldCell contenente il testo o i controlli dell'oggetto DataControlField.

cellType
DataControlCellType

Uno dei DataControlCellType valori.

rowState
DataControlRowState

Uno dei DataControlRowState valori, specificando lo stato della riga che contiene l'oggetto DataControlFieldCell.

rowIndex
Int32

Indice della riga in cui è contenuto l'oggetto DataControlFieldCell .

Esempio

Nell'esempio di codice seguente viene illustrato come implementare il InitializeCell metodo per un controllo che deriva dalla DataControlField classe . La classe esegue il RadioButtonField rendering di un pulsante di opzione associato a dati per ogni riga di un GridView controllo . Quando la riga visualizza i dati a un utente e non è in modalità di modifica, il RadioButton controllo è disabilitato. Quando la riga è in modalità di modifica, ad esempio quando l'utente sceglie di aggiornare una riga nel GridView controllo, il rendering del RadioButton controllo viene eseguito come abilitato in modo che possa essere selezionato. In questo esempio vengono utilizzati operatori AND bit per bit, perché lo stato della riga potrebbe essere una combinazione di uno o più DataControlRowState valori.

// 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

Commenti

I tipi derivati da DataControlField implementano il InitializeCell metodo per aggiungere testo e controlli a un DataControlFieldCell oggetto che appartiene a un controllo dati che usa tabelle per visualizzare un'interfaccia utente. Questi controlli dati creano la riga completa della struttura di tabella per riga quando vengono chiamati i rispettivi CreateChildControls metodi. Il InitializeCell metodo viene chiamato dal InitializeRow metodo dei controlli dati, DetailsView ad esempio e GridView.

Chiamare questo metodo quando si scrive un controllo associato a dati personalizzato che utilizza oggetti DataControlFieldCell per inizializzare le celle della struttura di tabella con dati o controlli. Implementare questo metodo quando si scrive una classe derivata da DataControlField.

Si applica a

Vedi anche