Поделиться через


DataRow Класс

Определение

Представляет строку данных в DataTable.

public ref class DataRow
public class DataRow
[System.Serializable]
public class DataRow
type DataRow = class
[<System.Serializable>]
type DataRow = class
Public Class DataRow
Наследование
DataRow
Атрибуты

Примеры

В следующем примере создается новый DataRow объект путем NewRow вызова метода DataTable объекта .

private void CreateNewDataRow()
{
    // Use the MakeTable function below to create a new table.
    DataTable table;
    table = MakeNamesTable();

    // Once a table has been created, use the
    // NewRow to create a DataRow.
    DataRow row;
    row = table.NewRow();

    // Then add the new row to the collection.
    row["fName"] = "John";
    row["lName"] = "Smith";
    table.Rows.Add(row);

    foreach(DataColumn column in table.Columns)
        Console.WriteLine(column.ColumnName);
    dataGrid1.DataSource=table;
}

private DataTable MakeNamesTable()
{
    // Create a new DataTable titled 'Names.'
    DataTable namesTable = new DataTable("Names");

    // Add three column objects to the table.
    DataColumn idColumn = new  DataColumn();
    idColumn.DataType = System.Type.GetType("System.Int32");
    idColumn.ColumnName = "id";
    idColumn.AutoIncrement = true;
    namesTable.Columns.Add(idColumn);

    DataColumn fNameColumn = new DataColumn();
    fNameColumn.DataType = System.Type.GetType("System.String");
    fNameColumn.ColumnName = "Fname";
    fNameColumn.DefaultValue = "Fname";
    namesTable.Columns.Add(fNameColumn);

    DataColumn lNameColumn = new DataColumn();
    lNameColumn.DataType = System.Type.GetType("System.String");
    lNameColumn.ColumnName = "LName";
    namesTable.Columns.Add(lNameColumn);

    // Create an array for DataColumn objects.
    DataColumn [] keys = new DataColumn [1];
    keys[0] = idColumn;
    namesTable.PrimaryKey = keys;

    // Return the new DataTable.
    return namesTable;
}
Private Sub CreateNewDataRow()
    ' Use the MakeTable function below to create a new table.
    Dim table As DataTable
    table = MakeNamesTable()

    ' Once a table has been created, use the 
    ' NewRow to create a DataRow.
    Dim row As DataRow 
    row = table.NewRow()

    ' Then add the new row to the collection.
    row("fName") = "John"
    row("lName") = "Smith"
    table.Rows.Add(row)
    
    Dim column As DataColumn
    For Each column in table.Columns
       Console.WriteLine(column.ColumnName)
    Next
    DataGrid1.DataSource=table
 End Sub
 
 Private Function MakeNamesTable() As DataTable
    ' Create a new DataTable titled 'Names.'
    Dim namesTable As New DataTable("Names") 

    ' Add three column objects to the table.
    Dim idColumn As New DataColumn()
    idColumn.DataType = System.Type.GetType("System.Int32")
    idColumn.ColumnName = "id"
    idColumn.AutoIncrement = True
    namesTable.Columns.Add(idColumn)

    Dim fNameColumn As New DataColumn()
    fNameColumn.DataType = System.Type.GetType("System.String")
    fNameColumn.ColumnName = "Fname"
    fNameColumn.DefaultValue = "Fname"
    namesTable.Columns.Add(fNameColumn)

    Dim lNameColumn As New DataColumn()
    lNameColumn.DataType = System.Type.GetType("System.String")
    lNameColumn.ColumnName = "LName"
    namesTable.Columns.Add(lNameColumn)

    ' Create an array for DataColumn objects.
    Dim keys(0) As DataColumn 
    keys(0) = idColumn
    namesTable.PrimaryKey = keys

    ' Return the new DataTable.
    MakeNamesTable = namesTable
 End Function

Комментарии

Объекты DataRow и DataColumn являются основными компонентами DataTableобъекта . DataRow Используйте объект , его свойства и методы для получения и оценки; вставляйте, удаляйте и обновляйте значения в DataTable. представляет фактические DataRow объекты в DataTable, а DataColumnCollection содержит DataColumn объекты, описывающие схему DataTable.DataRowCollection Используйте перегруженное Item[] свойство для возврата или задания значения DataColumn.

HasVersion Используйте свойства и IsNull для определения состояния определенного значения строки, а RowState свойство — для определения состояния строки относительно ее родительского DataTableзначения .

Чтобы создать объект DataRow, используйте NewRow метод DataTable объекта . После создания используйте DataRowAdd метод , чтобы добавить новый DataRow объект в DataRowCollection. Наконец, вызовите AcceptChanges метод объекта , DataTable чтобы подтвердить сложение. Дополнительные сведения о добавлении данных в DataTableсм. в разделе Добавление данных в dataTable.

Можно удалить DataRow из DataRowCollection , вызвав Remove метод DataRowCollectionобъекта или вызвав Delete метод DataRow объекта . Метод Remove удаляет строку из коллекции. Напротив, Delete помечает для DataRow удаления. Фактическое удаление происходит при вызове AcceptChanges метода . DeleteВызывая , можно программно проверка, какие строки помечены для удаления, прежде чем их удалить. Дополнительные сведения см. в разделе Удаление DataRow.

Конструкторы

DataRow(DataRowBuilder)

Инициализирует новый экземпляр класса DataRow с помощью указанного построителя. Только для внутреннего использования.

Свойства

HasErrors

Получает значение, показывающее, есть ли ошибки в строке.

Item[DataColumn, DataRowVersion]

Получает указанную версию данных, сохраненных в указанном объекте DataColumn.

Item[DataColumn]

Возвращает или задает данные, сохраненные в указанном объекте DataColumn.

Item[Int32, DataRowVersion]

Получает данные, сохраненные в столбце, указанном по индексу и версии извлекаемых данных.

Item[Int32]

Возвращает или задает данные, сохраненные в столбце, указанном по индексу.

Item[String, DataRowVersion]

Получает указанную версию данных, сохраненных в именованном столбце.

Item[String]

Возвращает или задает данные, сохраненные в столбце, указанном по имени.

ItemArray

Возвращает или задает все значения для этой строки с помощью массива.

RowError

Возвращает или задает настраиваемое описание ошибки для строки.

RowState

Получает текущее состояние строки, относящееся к ее отношению к коллекции DataRowCollection.

Table

Получает объект DataTable, для которого эта строка имеет схему.

Методы

AcceptChanges()

Фиксирует все изменения, внесенные в эту строку со времени последнего вызова метода AcceptChanges().

BeginEdit()

Начинает операцию изменения объекта DataRow.

CancelEdit()

Отменяет текущее изменение строки.

ClearErrors()

Очищает ошибки для строки. Это относится к свойству RowError и ошибкам, установленным с помощью метода SetColumnError(Int32, String).

Delete()

Удаляет объект DataRow.

EndEdit()

Прекращает изменение строки.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetChildRows(DataRelation)

Получает дочерние строки этого объекта DataRow с помощью указанного объекта DataRelation.

GetChildRows(DataRelation, DataRowVersion)

Получает дочерние строки объекта DataRow с помощью указанных объектов DataRelation и DataRowVersion.

GetChildRows(String)

Получает дочерние строки объекта DataRow с помощью указанного свойства RelationName объекта DataRelation.

GetChildRows(String, DataRowVersion)

Получает дочерние строки объекта DataRow с помощью указанного свойства RelationName объектов DataRelation и DataRowVersion.

GetColumnError(DataColumn)

Получает описание ошибки указанного объекта DataColumn.

GetColumnError(Int32)

Получает описание ошибки для столбца, указанного по индексу.

GetColumnError(String)

Получает описание ошибки для столбца, указанного по имени.

GetColumnsInError()

Получает массив столбцов с ошибками.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetParentRow(DataRelation)

Получает родительскую строку объекта DataRow с помощью указанного объекта DataRelation.

GetParentRow(DataRelation, DataRowVersion)

Получает родительскую строку объекта DataRow с помощью указанных объектов DataRelation и DataRowVersion.

GetParentRow(String)

Получает родительскую строку объекта DataRow с помощью указанного свойства RelationName объекта DataRelation.

GetParentRow(String, DataRowVersion)

Получает родительскую строку объекта DataRow с помощью указанного свойства RelationName объектов DataRelation и DataRowVersion.

GetParentRows(DataRelation)

Получает родительские строки объекта DataRow с помощью указанного объекта DataRelation.

GetParentRows(DataRelation, DataRowVersion)

Получает родительские строки объекта DataRow с помощью указанных объектов DataRelation и DataRowVersion.

GetParentRows(String)

Получает родительские строки объекта DataRow с помощью указанного свойства RelationName объекта DataRelation.

GetParentRows(String, DataRowVersion)

Получает родительские строки объекта DataRow с помощью указанного свойства RelationName объектов DataRelation и DataRowVersion.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HasVersion(DataRowVersion)

Получает значение, показывающее, существует ли указанная версия.

IsNull(DataColumn)

Получает значение, показывающее, содержит ли указанный объект DataColumn значение null.

IsNull(DataColumn, DataRowVersion)

Получает значение, показывающее, содержит ли указанные объекты DataColumn и DataRowVersion значение null.

IsNull(Int32)

Получает значение, показывающее, содержит ли столбец по указанному индексу значение null.

IsNull(String)

Получает значение, показывающее, содержит ли названный столбец значение null.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RejectChanges()

Отменяет все изменения, внесенные в строку после последнего вызова метода AcceptChanges().

SetAdded()

Изменяет значение свойства RowState объекта DataRow на Added.

SetColumnError(DataColumn, String)

Задает описание ошибки для столбца, указанного как DataColumn.

SetColumnError(Int32, String)

Задает описание ошибки для столбца, указанного по индексу.

SetColumnError(String, String)

Задает описание ошибки для столбца, указанного по имени.

SetModified()

Изменяет значение свойства RowState объекта DataRow на Modified.

SetNull(DataColumn)

Задает значение null указанному параметру DataColumn.

SetParentRow(DataRow)

Задает родительскую строку DataRow с указанным новым родительским объектом DataRow.

SetParentRow(DataRow, DataRelation)

Задает родительскую строку DataRow с указанными новыми родительскими объектами DataRow и DataRelation.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Методы расширения

Field<T>(DataRow, DataColumn)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, DataColumn) также поддерживает типы, допускающие значения null.

Field<T>(DataRow, DataColumn, DataRowVersion)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, DataColumn, DataRowVersion) также поддерживает типы, допускающие значения null.

Field<T>(DataRow, Int32)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, Int32) также поддерживает типы, допускающие значения null.

Field<T>(DataRow, Int32, DataRowVersion)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, Int32, DataRowVersion) также поддерживает типы, допускающие значения null.

Field<T>(DataRow, String)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, String) также поддерживает типы, допускающие значения null.

Field<T>(DataRow, String, DataRowVersion)

Обеспечивает строго типизированный доступ к каждому значению столбца в указанной строке. Метод Field<T>(DataRow, String, DataRowVersion) также поддерживает типы, допускающие значения null.

SetField<T>(DataRow, DataColumn, T)

Задает новое значение для указанного столбца в DataRow. Метод SetField<T>(DataRow, DataColumn, T) также поддерживает типы, допускающие значения null.

SetField<T>(DataRow, Int32, T)

Задает новое значение для указанного столбца в вызванном методе DataRow. Метод SetField<T>(DataRow, Int32, T) также поддерживает типы, допускающие значения null.

SetField<T>(DataRow, String, T)

Задает новое значение для указанного столбца в DataRow. Метод SetField<T>(DataRow, String, T) также поддерживает типы, допускающие значения null.

Применяется к

Потокобезопасность

Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.

См. также раздел