DataControlField.InitializeCell Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет в коллекцию ячейки элемента управления текст или элементы управления.
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)
Параметры
- cell
- DataControlFieldCell
DataControlFieldCell, содержащий текст или элементы управления DataControlField.
- cellType
- DataControlCellType
Одно из значений перечисления DataControlCellType.
- rowState
- DataControlRowState
Одно из значений DataControlRowState, указывающее визуальное состояние строки, содержащей DataControlFieldCell.
- rowIndex
- Int32
Индекс строки ячейки, в которой содержится DataControlFieldCell.
Примеры
В следующем примере кода показано, как реализовать InitializeCell метод для элемента управления, производного от DataControlField класса. Класс RadioButtonField
отрисовывает переключатель с привязкой к данным для каждой строки в элементе GridView управления. Если строка отображает данные пользователю и не находится в режиме редактирования, RadioButton элемент управления отключается. Если строка находится в режиме редактирования, например когда пользователь выбирает обновление строки в элементе GridView управления, RadioButton элемент управления отображается как включенный, чтобы его можно было щелкнуть. В этом примере используются побитовые операторы AND, так как состояние строки может быть сочетанием одного или нескольких DataControlRowState значений.
// 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
Комментарии
Типы, производные от DataControlField реализации InitializeCell метода для добавления текста и элементов управления в DataControlFieldCell объект, принадлежащий элементу управления данным, использующим таблицы для отображения пользовательского интерфейса. Эти элементы управления данными создают полную строку структуры таблицы по строкам при вызове соответствующих CreateChildControls
методов. Метод InitializeCell вызывается с помощью InitializeRow
метода элементов управления данными, таких как DetailsView и GridView.
Вызовите этот метод при написании пользовательского элемента управления с привязкой к данным, который использует DataControlFieldCell объекты для инициализации ячеек структуры таблицы с данными или элементами управления. Реализуйте этот метод при написании класса, производного от DataControlField.