DataControlRowState Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает состояние строки в элементе управления данными, например в DetailsView или GridView.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class DataControlRowState
[System.Flags]
public enum DataControlRowState
[<System.Flags>]
type DataControlRowState =
Public Enum DataControlRowState
- Наследование
- Атрибуты
Поля
Alternate | 1 | Указывает, что строка элемента управления данными является альтернативной. Состояние |
Edit | 4 | Указывает на то, что строка находится с состоянии редактирования, часто в качестве результата нажатия на кнопку редактирования данной строки. Обычно состояния Edit и Insert являются взаимоисключающими. |
Insert | 8 | Указывает на то, что строка является новой, часто созданной в результате нажатия кнопки вставки. Обычно состояния Insert и Edit являются взаимоисключающими. |
Normal | 0 | Указывает, что строка элемента управления данными находится в обычном состоянии. Состояние Normal является взаимоисключающим с другими состояниями, кроме состояния Alternate. |
Selected | 2 | Указывает на то, что строка была выбрана пользователем. |
Примеры
В следующем примере показано, как использовать DataControlRowState
перечисление для отрисовки пользовательского интерфейса на основе состояния строки в элементе GridView управления . Класс RadioButtonField
, являющийся пользовательским элементом управления полем, производным от CheckBoxField элемента управления , отображает переключатель с привязкой к данным для каждой строки в элементе GridView управления. Если строка отображает данные для пользователя и не находится в режиме редактирования RadioButton , элемент управления отключается. Когда пользователь обновляет строку в GridView , а строка находится в режиме редактирования, RadioButton элемент управления отображается как включенный, чтобы его можно было щелкнуть. В примере используются побитовые операторы AND, так как состояние строки может быть сочетанием одного или нескольких DataControlRowState
значений. Этот пример является частью более крупного примера, предоставленного DataControlField для класса .
// 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
Комментарии
Перечисление DataControlRowState
определяет состояние строки в элементе управления данными, DetailsView например или GridView. Состояние строки может быть одним или сочетанием значений DataControlRowState
, поэтому используйте побитовые операции, чтобы определить, включает DataControlRowState
ли состояние строки значение, а не проверку эквивалентности. Перечисление DataControlRowState
используется для строк любого типа, а не только DataRow для строк (как правило, для состояния строк колонтитулов задано значение Normal
).
Перечисление DataControlRowState
можно использовать для определения состояния GridViewRow объекта или DetailsViewRow при перечислении через GridViewRowCollection коллекцию или DetailsViewRowCollection соответственно. Если вы создаете элемент управления данными, использующий строки, можно использовать DataControlRowState
перечисление, чтобы определить, когда следует отображать различные цвета для строки ( Alternate
значение) или элементов управления, которые включены или отключены для редактирования строки ( Edit
значения и Insert
).