Freigeben über


DataControlField.InitializeCell Methode

Definition

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.

Gilt für

Siehe auch