(0) exportieren Drucken
Alle erweitern

DataControlField.InitializeCell-Methode

Hinweis: Diese Methode ist neu in .NET Framework, Version 2.0.

Fügt der Steuerelementauflistung einer Zelle Text oder Steuerelemente hinzu.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public virtual void InitializeCell (
	DataControlFieldCell cell,
	DataControlCellType cellType,
	DataControlRowState rowState,
	int rowIndex
)
public void InitializeCell (
	DataControlFieldCell cell, 
	DataControlCellType cellType, 
	DataControlRowState rowState, 
	int rowIndex
)
public function InitializeCell (
	cell : DataControlFieldCell, 
	cellType : DataControlCellType, 
	rowState : DataControlRowState, 
	rowIndex : int
)

Parameter

cell

Eine DataControlFieldCell, die den Text oder die Steuerelemente von DataControlField enthält.

cellType

Einer der DataControlCellType-Werte.

rowState

Einer der DataControlRowState-Werte, der den Zustand der Zeile angibt, die DataControlFieldCell enthält.

rowIndex

Der Index der Zeile, in dem DataControlFieldCell enthalten ist.

Von DataControlField abgeleitete Typen implementieren die InitializeCell-Methode, um einem DataControlFieldCell-Objekt Text und Steuerelemente hinzuzufügen, das zu einem Steuerelement gehört, das wiederum eine Benutzeroberfläche mithilfe von Tabellen anzeigt. Diese Datensteuerelemente erstellen beim Aufruf der zugehörigen CreateChildControls-Methoden zeilenweise die gesamte Tabellenstruktur. Die InitializeCell-Methode wird durch die InitializeRow-Methode von Datensteuerelementen wie DetailsView und GridView aufgerufen.

Rufen Sie diese Methode auf, wenn Sie ein benutzerdefiniertes datengebundenes Steuerelement schreiben, das DataControlFieldCell-Objekte zum Initialisieren der Zellen der Tabellenstruktur mit Daten oder Steuerelementen verwendet. Implementieren Sie diese Methode, wenn Sie eine von DataControlField abgeleitete Klasse schreiben.

Im folgenden Codebeispiel wird veranschaulicht, wie die InitializeCell-Methode für ein von der DataControlField-Klasse abgeleitetes Steuerelement implementiert wird. Die RadioButtonField-Klasse gibt für jede Zeile in einem GridView-Steuerelement ein datengebundenes Optionsfeld wieder. Wenn für einen Benutzer Daten in der Zeile angezeigt werden, diese aber nicht im Bearbeitungsmodus ist, wird das RadioButton-Steuerelement deaktiviert. Wenn die Zeile sich im Bearbeitungsmodus befindet, z. B., wenn der Benutzer eine Zeile im GridView-Steuerelement aktualisieren möchte, wird das RadioButton-Steuerelement als aktiviert dargestellt, sodass darauf geklickt werden kann. In diesem Beispiel werden bitweise AND-Operatoren verwendet, da der Zeilenzustand unter Umständen 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 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 (get_DataField().get_Length() != 0) {
        radio.add_DataBinding(new EventHandler(this.OnDataBindField));
    }
    radio.set_Text(this.get_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.set_Enabled(false);
    // If the row is in edit mode, enable the button.
    if (((int)(rowState & DataControlRowState.Edit) != 0) || ((int)(
        rowState & DataControlRowState.Insert) != 0)) {
        radio.set_Enabled(true);
    }
    cell.get_Controls().Add(radio);
} //InitializeDataCell

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen:
© 2014 Microsoft