DataTable.NewRow 方法

.NET Framework 类库 

DataTable.NewRow 方法

创建与该表具有相同架构的新 DataRow

[Visual Basic]
Public Function NewRow() As DataRow
[C#]
public DataRow NewRow();
[C++]
public: DataRow* NewRow();
[JScript]
public function NewRow() : DataRow;
返回值

DataRow,其架构与 DataTable 的架构相同。

备注

必须使用 NewRow 方法才能创建与 DataTable 具有相同架构的新 DataRow 对象。在创建 DataRow 之后,可以通过 DataTable 对象的 Rows 属性将其添加到 DataRowCollection 中。

示例

[Visual Basic, C#, C++] 以下示例创建一个 DataTable、添加两个用于确定表的架构的 DataColumn 对象、使用 NewRow 方法创建几个新的 DataRow 对象。然后使用 Add 方法将这些 DataRow 对象添加到 DataRowCollection 中。

[Visual Basic] 
Private Sub MakeDataTableAndDisplay()
   ' Create new DataTable and DataSource objects.
   Dim myDataTable As DataTable = New DataTable()
   ' Declare DataColumn and DataRow variables.
   Dim myColumn As DataColumn 
   Dim myRow As DataRow 
   Dim myDataView As DataView 
   ' Create new DataColumn, set DataType, ColumnName and add to DataTable.    
   myColumn = New DataColumn()
   myColumn.DataType = System.Type.GetType("System.Int32")
   myColumn.ColumnName = "id"
   myDataTable.Columns.Add(myColumn)

   ' Create second column.
   myColumn = New DataColumn()
   myColumn.DataType = Type.GetType("System.String")
   myColumn.ColumnName = "item"
   myDataTable.Columns.Add(myColumn)

   ' Create new DataRow objects and add to DataTable.    
   Dim i As Integer
   For i = 0 to 9 
      myRow = myDataTable.NewRow()
      myRow("id") = i
      myRow("item") = "item " & i
      myDataTable.Rows.Add(myRow)
   Next
   ' Create a DataView using the DataTable.
   myDataView = New DataView(myDataTable)
   ' Set a DataGrid control's DataSource to the DataView.
   DataGrid1.DataSource = myDataView
End Sub

[C#] 
private void MakeDataTableAndDisplay(){
   // Create new DataTable and DataSource objects.
   DataTable myDataTable = new DataTable();
   // Declare DataColumn and DataRow variables.
   DataColumn myColumn;
   DataRow myRow; 
   DataView myDataView;
   // Create new DataColumn, set DataType, ColumnName and add to DataTable.    
   myColumn = new DataColumn();
   myColumn.DataType = System.Type.GetType("System.Int32");
   myColumn.ColumnName = "id";
   myDataTable.Columns.Add(myColumn);

   // Create second column.
   myColumn = new DataColumn();
   myColumn.DataType = Type.GetType("System.String");
   myColumn.ColumnName = "item";
   myDataTable.Columns.Add(myColumn);

   // Create new DataRow objects and add to DataTable.    
   for(int i = 0; i < 10; i++){
      myRow = myDataTable.NewRow();
      myRow["id"] = i;
      myRow["item"] = "item " + i.ToString();
      myDataTable.Rows.Add(myRow);
   }

   // Create a DataView using the DataTable.
   myDataView = new DataView(myDataTable);
   // Set a DataGrid control's DataSource to the DataView.
   dataGrid1.DataSource = myDataView;
}

[C++] 
private:
 void MakeDataTableAndDisplay(){
    // Create new DataTable and DataSource objects.
    DataTable* myDataTable = new DataTable();
    // Declare DataColumn and DataRow variables.
    DataColumn* myColumn;
    DataRow* myRow; 
    DataView* myDataView;
    // Create new DataColumn, set DataType, ColumnName and add to DataTable.    
    myColumn = new DataColumn();
    myColumn->DataType = System::Type::GetType(S"System.Int32");
    myColumn->ColumnName = S"id";
    myDataTable->Columns->Add(myColumn);
 
    // Create second column.
    myColumn = new DataColumn();
    myColumn->DataType = Type::GetType(S"System.String");
    myColumn->ColumnName = S"item";
    myDataTable->Columns->Add(myColumn);
 
    // Create new DataRow objects and add to DataTable.    
    for(int i = 0; i < 10; i++){
       myRow = myDataTable->NewRow();
       myRow->Item[S"id"] = __box(i);
       myRow->Item[S"item"] = String::Format( S"item {0}", __box(i));
       myDataTable->Rows->Add(myRow);
    }
 
    // Create a DataView using the DataTable.
    myDataView = new DataView(myDataTable);
    // Set a DataGrid control's DataSource to the DataView.
    dataGrid1->DataSource = myDataView;
 }

[JScript] 没有可用于 JScript 的示例。若要查看 Visual Basic、C# 或 C++ 示例,请单击页左上角的“语言筛选器”按钮 语言筛选器

要求

平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版

请参见

DataTable 类 | DataTable 成员 | System.Data 命名空间 | AcceptChanges | Add | DataColumnCollection | DataColumn | DataRowCollection

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 .NET Framework 中,`DataTable` 类提供了 `Rows` 属性,该属性是一个 `DataRowCollection` 对象,它表示 `DataTable` 中的所有行。要创建一个新的 `DataRow` 对象并将其添加到 `DataTable` 中,可以使用 `DataRowCollection` 的 `Add` 方法。例如: ```vb Dim dt As New DataTable() ' 添加列 dt.Columns.Add("ID", GetType(Integer)) dt.Columns.Add("Name", GetType(String)) dt.Columns.Add("Age", GetType(Integer)) ' 添加行 Dim row As DataRow = dt.Rows.Add() row("ID") = 1 row("Name") = "张三" row("Age") = 20 ``` 在这个例子中,首先创建了一个空的 `DataTable` 对象 `dt`,然后使用 `Columns` 属性添加了三列,分别是 `ID`、`Name` 和 `Age`。接着,使用 `Rows` 属性的 `Add` 方法创建了一个新的 `DataRow` 对象,并将其添加到 `dt` 中。最后,通过 `row` 对象的索引器为其赋值。 需要注意的是,如果要向 `Rows` 集合中添加多个行,可以使用类似以下的方式: ```vb Dim rowsToAdd As Integer = 10 For i As Integer = 1 To rowsToAdd row = dt.Rows.Add() row("ID") = i row("Name") = "Name " & i row("Age") = 20 + i Next ``` 在这个例子中,使用 `For` 循环向 `Rows` 集合中添加了 10 行,并为每一行赋不同的值。 需要注意的是,`DataRow` 对象的构造函数是 `New`,它不带任何参数。可以使用 `DataRow` 的索引器来设置或获取行中的特定列的值,例如 `row("ID") = 1`。如果要按列名获取列的索引,可以使用 `DataTable` 的 `Columns` 集合的 `IndexOf` 方法,例如 `dt.Columns.IndexOf("ID")`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值