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 Steuerelementsammlung 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
ADataControlFieldCell, das den Text oder die Steuerelemente der .DataControlField
- cellType
- DataControlCellType
Einer der DataControlCellType Werte.
- rowState
- DataControlRowState
Einer der DataControlRowState Werte, der den Status der Zeile angibt, die die DataControlFieldCell.
- rowIndex
- Int32
Der Index der Zeile, in der sich die DataControlFieldCell Zeile befindet.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die InitializeCell Methode für ein Steuerelement implementiert wird, das von der DataControlField Klasse abgeleitet wird. Die RadioButtonField Klasse rendert ein datengebundenes Optionsfeld 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 darauf geklickt werden kann. In diesem Beispiel werden bitweise UND-Operatoren verwendet, da der Zeilenzustand eine Kombination aus einem oder DataControlRowState mehreren 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
Typen, die von der Implementierung der InitializeCell Methode zum Hinzufügen von DataControlField Text und Steuerelementen zu einem Objekt abgeleitet werden, das zu einem DataControlFieldCell Datensteuerelement gehört, das Tabellen zum Anzeigen einer Benutzeroberfläche verwendet. 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 aufgerufen, z DetailsView . B. und GridView.
Rufen Sie diese Methode auf, wenn Sie ein benutzerdefiniertes datengebundenes Steuerelement schreiben, das Objekte zum Initialisieren der Zellen der Tabellenstruktur mit Daten oder Steuerelementen verwendet DataControlFieldCell . Implementieren Sie diese Methode, wenn Sie eine von DataControlField.