http://msdn.microsoft.com/zh-cn/library/system.data.datarow(v=vs.110).aspx
DataRow 类
表示 DataTable 中的一行数据。
命名空间: System.Data
程序集: System.Data(在 System.Data.dll 中)
DataRow 类型公开以下成员。
名称 | 说明 | |
---|---|---|
HasErrors | 获取一个值,该值指示某行是否包含错误。 | |
Item[DataColumn] | 获取或设置存储在指定的 DataColumn 中的数据。 | |
Item[Int32] | 获取或设置存储在由索引指定的列中的数据。 | |
Item[String] | 获取或设置存储在由名称指定的列中的数据。 | |
Item[DataColumn, DataRowVersion] | 获取存储在指定的 DataColumn 中的数据的指定版本。 | |
Item[Int32, DataRowVersion] | 获取存储在由索引和要检索的数据的版本指定的列中的数据。 | |
Item[String, DataRowVersion] | 获取存储在已命名列中的数据的指定版本。 | |
ItemArray | 通过一个数组来获取或设置此行的所有值。 | |
RowError | 获取或设置行的自定义错误说明。 | |
RowState | 获取与该行和 DataRowCollection 的关系相关的当前状态。 | |
Table | 获取该行拥有其架构的 DataTable。 |
名称 | 说明 | |
---|---|---|
Field<T>(DataColumn) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
Field<T>(Int32) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
Field<T>(String) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
Field<T>(DataColumn, DataRowVersion) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
Field<T>(Int32, DataRowVersion) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
Field<T>(String, DataRowVersion) | 已重载。 提供对指定行中的每个列值的强类型访问。 Field 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
SetField<T>(DataColumn, T) | 已重载。 为 DataRow 中的指定列设置一个新值。 SetField 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) | |
SetField<T>(Int32, T) | 已重载。 为在其上调用此方法的 DataRow 中的指定列设置一个新值。 SetField 方法还支持可以为 null 的类型。 (由DataRowExtensions 定义。) | |
SetField<T>(String, T) | 已重载。 为 DataRow 中的指定列设置一个新值。 SetField 方法还支持可以为 null 的类型。 (由 DataRowExtensions 定义。) |
DataRow 和 DataColumn 对象是 DataTable 的主要组件。 使用 DataRow 对象及其属性和方法检索、评估、插入、删除和更新 DataTable 中的值。 DataRowCollection 表示 DataTable中的实际 DataRow 对象,DataColumnCollection 中包含用于描述 DataTable 的架构的 DataColumn 对象。 使用重载的 Item 属性返回或设置 DataColumn 的值。
使用 HasVersion 和 IsNull 属性确定特定行值的状态,使用 RowState 属性确定行相对于它的父级 DataTable 的状态。
若要创建新的 DataRow,请使用 DataTable 对象的 NewRow 方法。 创建新的 DataRow 之后,请使用 Add 方法将新的 DataRow 添加到 DataRowCollection 中。 最后,调用 DataTable对象的 AcceptChanges 方法以确认是否已添加。 有关将数据添加到 DataTable 中的更多信息,请参见 向数据表中添加数据。
您可通过调用 DataRowCollection 的 Remove 方法或调用 DataRow 对象的 Delete 方法,从 DataRowCollection 中删除 DataRow。 Remove 方法将行从集合中移除。 与此相反,Delete标记要移除的 DataRow。 在调用 AcceptChanges 方法时发生实际移除。 通过调用 Delete,您可在实际删除行之前以编程方式检查哪些行被标记为移除。 有关详细信息,请参阅 DataRow 删除。
下面的示例通过调用 DataTable 对象的 NewRow 方法创建新的 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; }
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)
.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求。