Члены | Описание |
---|---|
HasErrors GetColumnsInError GetColumnError ClearErrors RowError | Свойство HasErrors возвращает булево значение, являющееся индикатором наличия ошибок. В этом случае можно использовать метод GetColumnslnError, чтобы получить информацию о членах, порождающих проблемы, метод GetColumnError, чтобы получить описание ошибки, и метод ClearErrors, удаляющий ошибки для данной строки. Свойство RowError позволяет задать текстовое описание ошибки для данной строки |
ItemArray | Свойство, возвращающее или устанавливающее значения для данной строки с помощью массива объектов |
RowState | Свойство, используемое для выяснения текущего "состояния" DataRow с помощью значений из перечня RowState |
Table | Свойство, используемое для получения ссылки на DataTable, содержащий данный объект DataRow |
AcceptChanges | RejectChanges Эти методы, соответственно, фиксируют или отвергают все изменения, сделанные в данной строке с момента последнего вызова AcceptChanges |
BeginEdit EndEdit CancelEdit | Эти методы, соответственно, начинают, завершают или отменяют операции редактирования для объекта DataRow |
Delete | Метод, помечающий данную строку для удаления при вызове метода AcceptChanges |
IsNull | Метод, возвращающий значение-индикатор того, что данный столбец содержит значение null |
Работа с DataRow немного отличается от работы с DataColumn, поскольку вы не можете создать напрямую экземпляр этого типа, а получаете ссылку от данного DataTable. Предположим, например, что нам нужно вставить две строки в таблицу Inventory. Метод DataTable.NewRow позволяет добавить очередную строку в таблицу, а затем вы можете добавить в каждый столбец новые данные с помощью индексатора типа, как показано ниже.
static void Main(string[] args) {
…
// Добавление строк в таблицу Inventory.
DataRow carRow = inventoryTable.NewRow;
carRow["Make"] = "BMW";
carRow["Colar"] = "черный";
сarRow["PetName"] = "Hamlet";
inventoryTable.Rows.Add(carRow);
carRow = inventoryTable.NewRow;
carRow["Make"] = "Saab";
carRow["Color"] = "красный";
carRow["PetName"] = "Sea Breeze";
inventoryTable.Rows.Add(carRow);
}
Обратите внимание на то, что класс DataRow определяет индексатор, который может использоваться для получения доступа к данному объекту DataColumn как по числовому индексу позиции, так и по имени столбца. В результате выполнения указанных строк программного кода вы получите один объект DataTable, содержащий два столбца.
Свойство DataRow.RowState
Свойство RowState оказывается полезным тогда, когда необходимо программно идентифицировать набор всех строк в таблице, которая, например, была изменена, только что создана и т.д. Это свойство может принимать любое значение из перечня DataRowState. Описания этих значений предлагаются в табл. 22.13.
Таблица 22.13. Значения перечня DataRowState