Condividi tramite


DataControlField.InitializeCell Metodo

Definizione

Aggiunge testo o controlli all'insieme dei 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'oggettoDataControlField.

cellType
DataControlCellType

Uno dei valori di DataControlCellType.

rowState
DataControlRowState

Uno dei valori di DataControlRowState, che specifica lo stato della riga in cui è contenuto l'oggetto DataControlFieldCell.

rowIndex
Int32

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

Esempio

Nell'esempio DataControlField di codice seguente viene illustrato come implementare il InitializeCell metodo per un controllo che deriva dalla classe . La RadioButtonField classe esegue il rendering di un pulsante di opzione associato a dati per ogni riga in 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 RadioButton controllo viene eseguito come abilitato in modo che possa essere fatto clic. In questo esempio vengono usati 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 DataControlField dall'implementazione del InitializeCell metodo per aggiungere testo e controlli a un oggetto che appartiene a un DataControlFieldCell controllo dati che usa tabelle per visualizzare un'interfaccia utente . Questi controlli dati creano la riga completa della struttura della tabella in base alla 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 usa DataControlFieldCell oggetti 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