DataRow类:
表示行中的数据 DataTable。
命名空间: System.Data
程序集: System.Data(位于 System.Data.dll)
继承层次结构
System.Object
System.Data.DataRow
语法:
public class DataRow
构造函数
名称 | 说明 | |
---|---|---|
![]() |
DataRow(DataRowBuilder) | 此 API 支持 产品 基础结构,不应从代码直接使用。 初始化 DataRow 的新实例。 从生成器中构造行。 仅限内部使用。 |
属性
名称 | 说明 | |
---|---|---|
![]() |
HasErrors | 获取一个值,该值指示行是否存在错误。 |
![]() |
Item[DataColumn] | 获取或设置存储在指定的数据 DataColumn。 |
![]() |
Item[DataColumn,DataRowVersion] | 获取存储在指定的数据的指定的版本 DataColumn。 |
![]() |
Item[Int32] | 获取或设置指定索引的列中存储的数据。 |
![]() |
Item[Int32,DataRowVersion] | 获取指定索引和版本要检索的数据的列中存储的数据。 |
![]() |
Item[String] | 获取或设置指定名称的列中存储的数据。 |
![]() |
Item[String,DataRowVersion] | 获取指定列中存储的数据的指定的版本。 |
![]() |
ItemArray | 获取或设置通过数组此行的所有值。 |
![]() |
RowError | 获取或设置某一行的自定义错误说明。 |
![]() |
RowState | 获取有关及其与关系行的当前状态 DataRowCollection。 |
![]() |
Table | 获取 DataTable 为其该行有一个架构。 |
方法
名称 | 说明 | |
---|---|---|
![]() |
AcceptChanges() | 提交自上次对该行进行的所有更改 AcceptChanges 调用。 |
![]() |
BeginEdit() | 在开始编辑操作 DataRow 对象。 |
![]() |
CancelEdit() | 取消当前编辑的行上。 |
![]() |
ClearErrors() | 清除的行的错误。 这包括 RowError 并且错误设置有 SetColumnError。 |
![]() |
Delete() | 删除 DataRow。 |
![]() |
EndEdit() | 结束对行进行编辑。 |
![]() |
Equals(Object) | 确定指定的对象是否等于当前对象。(继承自 Object。) |
![]() |
Finalize() | 在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 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() | 更改 P:System.Data.DataRow.Rowstate 的 DataRow 到 Added。 |
![]() |
SetColumnError(DataColumn,String) | 设置为指定的列的错误说明 DataColumn。 |
![]() |
SetColumnError(Int32,String) | 设置由索引指定的列的错误说明。 |
![]() |
SetColumnError(String,String) | 设置由名称指定的列的错误说明。 |
![]() |
SetModified() | 更改 P:System.Data.DataRow.Rowstate 的 DataRow 到 Modified。 |
![]() |
SetNull(DataColumn) | 设置指定的值 DataColumn 为空值。 |
![]() |
SetParentRow(DataRow) | 设置的父行 DataRow 用新指定 DataRow。 |
![]() |
SetParentRow(DataRow,DataRelation) | 设置的父行 DataRow 用新指定 DataRow 和 DataRelation。 |
![]() |
ToString() | 返回表示当前对象的字符串。(继承自 Object。) |
扩展方法
名称 | 说明 | |
---|---|---|
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
Field |
已重载。提供了每个指定行中的列的值的强类型化访问。 Field |
![]() |
SetField |
已重载。设置指定列中的新值 DataRow。 SetField |
![]() |
SetField |
已重载。设置指定列中的新值 DataRow 上调用该方法。 SetField |
![]() |
SetField |
已重载。设置指定列中的新值 DataRow。 SetField |
备注
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