DataControlField.InitializeCell Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt der Steuerelementauflistung einer Zelle Text oder Steuerelemente hinzu.
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)
Parameter
- cell
- DataControlFieldCell
Eine DataControlFieldCell, die den Text oder die Steuerelemente von DataControlField enthält.
- cellType
- DataControlCellType
Einer der DataControlCellType-Werte.
- rowState
- DataControlRowState
Einer der DataControlRowState-Werte, der den Zustand der Zeile angibt, die DataControlFieldCell enthält.
- rowIndex
- Int32
Der Index der Zeile, in dem DataControlFieldCell enthalten ist.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie die InitializeCell Methode für ein Steuerelement implementieren, das von der DataControlField Klasse abgeleitet wird. Die RadioButtonField
Klasse rendert eine datengebundene Optionsschaltfläche für jede Zeile in einem GridView Steuerelement. Wenn die Zeile Daten für einen Benutzer anzeigt und sich nicht im Bearbeitungsmodus befindet, ist das RadioButton Steuerelement deaktiviert. Wenn sich die Zeile im Bearbeitungsmodus befindet, z. B. wenn der Benutzer eine Zeile im GridView Steuerelement aktualisiert, wird das RadioButton Steuerelement als aktiviert gerendert, sodass er geklickt werden kann. In diesem Beispiel wird bitweise UND-Operatoren verwendet, da der Zeilenzustand möglicherweise eine Kombination aus einem oder mehreren DataControlRowState Werten sein kann.
// 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
Hinweise
Vom Implementieren der InitializeCell Methode abgeleitete DataControlField Typen zum Hinzufügen von Text und Steuerelementen zu einem Objekt, das zu einem DataControlFieldCell Datensteuerelement gehört, das Tabellen verwendet, um eine Benutzeroberfläche (Benutzeroberfläche) anzuzeigen. Diese Datensteuerelemente erstellen die vollständige Tabellenstrukturzeile nach Zeile, wenn ihre jeweiligen CreateChildControls
Methoden aufgerufen werden. Die InitializeCell Methode wird von der InitializeRow
Methode der Datensteuerelemente wie DetailsView z. B. und GridView.
Rufen Sie diese Methode auf, wenn Sie ein benutzerdefiniertes datengebundenes Steuerelement schreiben, das Objekte verwendet DataControlFieldCell , um die Zellen der Tabellenstruktur mit Daten oder Steuerelementen zu initialisieren. Implementieren Sie diese Methode, wenn Sie eine klasse schreiben, die von DataControlField.