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