DataRow类:

表示行中的数据 DataTable。

命名空间:                   System.Data
程序集:         System.Data(位于 System.Data.dll)

继承层次结构

System.Object
System.Data.DataRow

语法:

public class DataRow

构造函数


名称 说明
System_CAPS_protmethod DataRow(DataRowBuilder)

此 API 支持 产品 基础结构,不应从代码直接使用。      初始化 DataRow 的新实例。 从生成器中构造行。 仅限内部使用。

属性


名称 说明
System_CAPS_pubproperty HasErrors

获取一个值,该值指示行是否存在错误。

System_CAPS_pubproperty Item[DataColumn]

获取或设置存储在指定的数据 DataColumn。

System_CAPS_pubproperty Item[DataColumn,DataRowVersion]

获取存储在指定的数据的指定的版本 DataColumn。

System_CAPS_pubproperty Item[Int32]

获取或设置指定索引的列中存储的数据。

System_CAPS_pubproperty Item[Int32,DataRowVersion]

获取指定索引和版本要检索的数据的列中存储的数据。

System_CAPS_pubproperty Item[String]

获取或设置指定名称的列中存储的数据。

System_CAPS_pubproperty Item[String,DataRowVersion]

获取指定列中存储的数据的指定的版本。

System_CAPS_pubproperty ItemArray

获取或设置通过数组此行的所有值。

System_CAPS_pubproperty RowError

获取或设置某一行的自定义错误说明。

System_CAPS_pubproperty RowState

获取有关及其与关系行的当前状态 DataRowCollection。

System_CAPS_pubproperty Table

获取 DataTable 为其该行有一个架构。


方法


名称 说明
System_CAPS_pubmethod AcceptChanges()

提交自上次对该行进行的所有更改 AcceptChanges 调用。

System_CAPS_pubmethod BeginEdit()

在开始编辑操作 DataRow 对象。

System_CAPS_pubmethod CancelEdit()

取消当前编辑的行上。

System_CAPS_pubmethod ClearErrors()

清除的行的错误。 这包括 RowError 并且错误设置有 SetColumnError。

System_CAPS_pubmethod Delete()

删除 DataRow

System_CAPS_pubmethod EndEdit()

结束对行进行编辑。

System_CAPS_pubmethod Equals(Object)

确定指定的对象是否等于当前对象。(继承自 Object。)

System_CAPS_protmethod Finalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

System_CAPS_pubmethod GetChildRows(DataRelation)

获取子项的这行 DataRow 使用指定 DataRelation。

System_CAPS_pubmethod GetChildRows(DataRelation,DataRowVersion)

获取子项的行 DataRow 使用指定 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetChildRows(String)

获取子项的行 DataRow 使用指定 RelationName 的 DataRelation。

System_CAPS_pubmethod GetChildRows(String,DataRowVersion)

获取子项的行 DataRow 使用指定 RelationName 的 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetColumnError(DataColumn)

获取指定的错误说明 DataColumn。

System_CAPS_pubmethod GetColumnError(Int32)

获取指定索引的列的错误说明。

System_CAPS_pubmethod GetColumnError(String)

获取按名称指定的列中的错误说明。

System_CAPS_pubmethod GetColumnsInError()

获取具有错误的列的数组。

System_CAPS_pubmethod GetHashCode()

作为默认哈希函数。(继承自 Object。)

System_CAPS_pubmethod GetParentRow(DataRelation)

获取的父行 DataRow 使用指定 DataRelation。

System_CAPS_pubmethod GetParentRow(DataRelation,DataRowVersion)

获取的父行 DataRow 使用指定 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetParentRow(String)

获取的父行 DataRow 使用指定 RelationName 的 DataRelation。

System_CAPS_pubmethod GetParentRow(String,DataRowVersion)

获取的父行 DataRow 使用指定 RelationName 的 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetParentRows(DataRelation)

获取父行的 DataRow 使用指定 DataRelation。

System_CAPS_pubmethod GetParentRows(DataRelation,DataRowVersion)

获取父行的 DataRow 使用指定 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetParentRows(String)

获取父行的 DataRow 使用指定 RelationName 的 DataRelation。

System_CAPS_pubmethod GetParentRows(String,DataRowVersion)

获取父行的 DataRow 使用指定 RelationName 的 DataRelation, ,和 DataRowVersion。

System_CAPS_pubmethod GetType()

获取当前实例的 Type。(继承自 Object。)

System_CAPS_pubmethod HasVersion(DataRowVersion)

获取一个值,该值指示是否存在指定的版本。

System_CAPS_pubmethod IsNull(DataColumn)

获取一个值,该值指示是否指定 DataColumn 包含一个 null 值。

System_CAPS_pubmethod IsNull(DataColumn,DataRowVersion)

获取一个值,该值指示是否指定 DataColumn 和 DataRowVersion 包含一个 null 值。

System_CAPS_pubmethod IsNull(Int32)

获取一个值,该值指示是否指定索引处的列包含 null 值。

System_CAPS_pubmethod IsNull(String)

获取一个值,该值指示指定的列是否包含 null 值。

System_CAPS_protmethod MemberwiseClone()

创建当前 Object 的浅表副本。(继承自 Object。)

System_CAPS_pubmethod RejectChanges()

拒绝以来对该行进行的所有更改 AcceptChanges 上一次调用。

System_CAPS_pubmethod SetAdded()

更改 P:System.Data.DataRow.RowstateDataRowAdded

System_CAPS_pubmethod SetColumnError(DataColumn,String)

设置为指定的列的错误说明 DataColumn。

System_CAPS_pubmethod SetColumnError(Int32,String)

设置由索引指定的列的错误说明。

System_CAPS_pubmethod SetColumnError(String,String)

设置由名称指定的列的错误说明。

System_CAPS_pubmethod SetModified()

更改 P:System.Data.DataRow.RowstateDataRowModified

System_CAPS_protmethod SetNull(DataColumn)

设置指定的值 DataColumn 为空值。

System_CAPS_pubmethod SetParentRow(DataRow)

设置的父行 DataRow 用新指定 DataRow

System_CAPS_pubmethod SetParentRow(DataRow,DataRelation)

设置的父行 DataRow 用新指定 DataRow 和 DataRelation。

System_CAPS_pubmethod ToString()

返回表示当前对象的字符串。(继承自 Object。)


扩展方法


名称 说明
System_CAPS_pubmethod Field(DataColumn)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod Field(DataColumn,DataRowVersion)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod Field(Int32)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod Field(Int32,DataRowVersion)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod Field(String)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod Field(String,DataRowVersion)

已重载。提供了每个指定行中的列的值的强类型化访问。  Field 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod SetField(DataColumn,T)

已重载。设置指定列中的新值 DataRow  SetField 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod SetField(Int32,T)

已重载。设置指定列中的新值 DataRow 上调用该方法。  SetField 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

System_CAPS_pubmethod SetField(String,T)

已重载。设置指定列中的新值 DataRow  SetField 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。)

备注

 DataRow 和 DataColumn 对象是主要组件 DataTable。 使用 DataRow 对象及其属性和方法用于检索和评估; 以及插入、 删除和更新中的值 DataTable。  DataRowCollection 表示实际 DataRow 中的对象 DataTable, ,和 DataColumnCollection 包含 DataColumn 这些对象描述的架构 DataTable。 使用重载 Item 属性以返回或设置的值 DataColumn。

使用 HasVersion 和 IsNull 属性来确定特定行值的状态和 RowState 属性来确定相对于其父行的状态 DataTable。

若要创建一个新 DataRow, ,使用 NewRow 方法 DataTable 对象。 在创建一个新 DataRow, ,使用 Add 方法以添加新 DataRow 到 DataRowCollection。 最后,调用 AcceptChanges 方法 DataTable 以确认添加的对象。 有关将数据添加到 DataTable, ,请参阅 向数据表中添加数据。

您可以删除 DataRow 从 DataRowCollection 通过调用 Remove 方法 DataRowCollection, ,或通过调用 Delete 方法 DataRow 对象。  Remove 方法从集合中删除行。 与此相反, Delete 标记 DataRow 进行删除。 在调用时才会发生实际删除 AcceptChanges 方法。 通过调用 Delete, ,您可以通过编程方式检查哪些行标记为删除之前实际删除它们。 有关详细信息,请参阅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;
}

此类型是安全的多线程读取操作。 您必须同步任何写操作。


备注:转自https://msdn.microsoft.com/zh-cn/library/system.data.datarow(v=vs.110).aspx