使用 DataRow 对象及其属性和方法检索、评估、插入、删除和更新 DataTable 中的值。DataRowCollection 表示 DataTable 中的实际 DataRow 对象。
若要创建新的 DataRow,请使用 DataTable 对象的 NewRow 方法。创建新的 DataRow 之后,请使用 Add 方法将新的 DataRow 添加到 DataRowCollection 中。最后,调用 DataTable 对象的 AcceptChanges 方法以确认是否已添加。
还可通过调用 DataRowCollection 的 Remove 方法或调用 DataRow 对象的 Delete 方法,从 DataRowCollection 中删除 DataRow。Remove 方法将行从集合中移除。与此相反,Delete 标记要移除的 DataRow。在调用 AcceptChanges 方法时发生实际移除。通过调用 Delete,可在实际删除行之前以编程方式检查哪些行被标记为移除。
下面的示例通过调用 DataTable 对象的 NewRow 方法创建新的 DataRow。
- private void CreateNewDataRow()
- {
-
- DataTable table;
- table = MakeNamesTable();
-
-
-
- DataRow row;
- row = table.NewRow();
-
-
- 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()
- {
-
- DataTable namesTable = new DataTable("Names");
-
-
- 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);
-
-
- DataColumn [] keys = new DataColumn [1];
- keys[0] = idColumn;
- namesTable.PrimaryKey = keys;
-
-
- return namesTable;
- }