DataControlField.InitializeCell Methode

Definition

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.

Gilt für:

Weitere Informationen