DataControlField.InitializeCell Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.