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.