C#从datagrid创建表(仅2个字段)

C#从datagrid创建表(仅2个字段),c#,datagridview,datatable,C#,Datagridview,Datatable,但是找不到任何信息。时间有限 我有一个Datagridview,6个字段 我需要创建一个只包含其中两个字段的数据表 字段是part和pareto 因此,我需要所有记录,但只需要Datatable中的两个字段 使用c sharp.net 4.0和Microsoft visual studio 2010 DataGridViewRowCollection coll = dataGridView1.Rows; DataTable t = new DataTable(); t.Columns.A

但是找不到任何信息。时间有限

我有一个Datagridview,6个字段

我需要创建一个只包含其中两个字段的数据表

字段是part和pareto

因此,我需要所有记录,但只需要Datatable中的两个字段

使用c sharp.net 4.0和Microsoft visual studio 2010

DataGridViewRowCollection coll = dataGridView1.Rows; 

DataTable t = new DataTable(); 

t.Columns.Add(); 

foreach (DataGridViewRow item in coll) 

{
     t.Rows.Add(item.Cells[0].Value);
}
只需从每一行添加所需的单元格。您所需要做的就是过滤列

foreach( DataGridViewRow row in myDataGridView.Rows)
{
      DataRow tableRow = myDataTable.NewRow();
      tableRow.Cells["part"].value = row["part"].value;
      tableRow.Cells["pareto"].value = row["pareto"].value;
      myDataTable.Rows.Add(tableRow);
}

像这样的东西应该可以。只需确保您的数据表具有适当的行。

现在我以前尝试过这个版本,但在foreach时出错。Foreach无法操作,因为datagridview不包含GetEnumerator的公共定义“但是DataGridview.Rows会,你确定你在结尾添加了.Rows吗?啊,我的错误,我错了,我错过了那该死的东西,这不是最初的问题,我遇到的问题是我再次遇到的问题:错误:错误2“object”不包含“value”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“value”(是否缺少using指令或程序集引用?因此,请将.value放到没有该值的指令上。我认为这可能是个问题,但现在没有时间检查它。请尝试tableRow[“pareto”]=行[“pareto”.value,或者尝试tableRow[“pareto”]。value=行[“pareto”.但是intellisense会告诉您哪个有值属性,哪个没有值属性。此外,您可能需要一些额外的强制转换,如.ToString()等等……哎呀,我忘了你需要一个.Cells。对于GridViewRow,我将在上面编辑它。有点奇怪,如果你有两个字段,这是如何工作的?因为你对一个没有赋值的单元格进行循环?这个单元格也在datagrdiview.rows中循环,所以它在行中循环,而不是在单元格中循环。item.Cells[0]正在获取第一个单元格,项。单元格[1]将获取第二个单元格,以此类推。。。