Sdílet prostřednictvím


DataControlField.InitializeCell Metoda

Definice

Přidá do kolekce ovládacích prvků buňky text nebo ovládací prvky.

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)

Parametry

cell
DataControlFieldCell

A DataControlFieldCell , který obsahuje text nebo ovládací prvky ovládacího DataControlFieldprvku .

cellType
DataControlCellType

Jedna z DataControlCellType hodnot.

rowState
DataControlRowState

Jedna z DataControlRowState hodnot určující stav řádku, který obsahuje DataControlFieldCell.

rowIndex
Int32

Index řádku, ve který DataControlFieldCell je obsažen.

Příklady

Následující příklad kódu ukazuje, jak implementovat metodu InitializeCell pro ovládací prvek, který je odvozen z DataControlField třídy. Třída RadioButtonField vykresluje přepínač vázané na data pro každý řádek GridView ovládacího prvku. Když řádek zobrazuje data uživateli a není v režimu úprav, RadioButton ovládací prvek je zakázaný. Když je řádek v režimu úprav, například když se uživatel rozhodne aktualizovat řádek v ovládacím GridView prvku, zobrazí se ovládací prvek jako povolený, RadioButton aby bylo možné na něj kliknout. Tento příklad používá bitové operátory AND, protože stav řádku může být kombinací jedné nebo více DataControlRowState hodnot.

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

Poznámky

Typy odvozené z DataControlField implementace InitializeCell metody pro přidání textu a ovládacích prvků do objektu DataControlFieldCell , který patří do ovládacího prvku dat, který používá tabulky k zobrazení uživatelského rozhraní (UI). Tyto ovládací prvky dat vytvoří úplný řádek struktury tabulky podle řádku, když se volají příslušné CreateChildControls metody. Metoda InitializeCell je volána metodou InitializeRow ovládacích prvků dat, jako je a DetailsView GridView.

Tuto metodu zavolejte při psaní vlastního ovládacího prvku vázaného na data, který používá DataControlFieldCell objekty k inicializaci buněk struktury tabulky dat nebo ovládacími prvky. Implementujte tuto metodu při psaní třídy odvozené z DataControlField.

Platí pro

Viz také