DataRow 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 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
- 属性
示例
以下示例通过调用 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 的类型。 |
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步任何写入操作。