DataRow 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 DataTable 中的一行数据。
public ref class DataRowpublic class DataRow[System.Serializable]
public class DataRowtype DataRow = class[<System.Serializable>]
type DataRow = classPublic Class DataRow- 继承
- 
				DataRow
- 属性
示例
以下示例通过调用 NewRow 对象的 方法DataTable创建新的 DataRow 。
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值。 表示 DataRowCollection 中DataTable的实际DataRow对象, DataColumnCollection 包含DataColumn描述 架构的对象DataTable。 使用重载 Item[] 属性返回或设置 的值 DataColumn。
HasVersion使用 和 IsNull 属性可确定特定行值的状态,使用 RowState 属性确定相对于其父 DataTable的行的状态。
若要创建新的 DataRow,请使用 NewRow 对象的 方法 DataTable 。 创建新的 DataRow后,Add使用 方法将新的 DataRow 添加到 。DataRowCollection 最后,调用 AcceptChanges 对象的 方法 DataTable 以确认添加。 有关将数据添加到 DataTable的详细信息,请参阅 将数据添加到 DataTable。
可以通过调用 Remove 的 方法DataRowCollection或调用 Delete 对象的 方法DataRow,从 DataRowCollection 中删除 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。 | 
方法
扩展方法
| 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 的类型。 | 
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步任何写入操作。