C# 如何在WindowsForms中使用DataGridView获取选定行中的所有单元格数据?

C# 如何在WindowsForms中使用DataGridView获取选定行中的所有单元格数据?,c#,winforms,windows-forms-designer,C#,Winforms,Windows Forms Designer,我有一个DataGridView,它显示了数据库中的一些数据,当我双击DataGridView中的任何一行时,我会在一个新窗口中看到它的内容 我有这个: private void ListaProductos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { var content = ListaProductos.Rows[e.RowIndex].Cells["Name"].Value.ToSt

我有一个DataGridView,它显示了数据库中的一些数据,当我双击DataGridView中的任何一行时,我会在一个新窗口中看到它的内容

我有这个:

 private void ListaProductos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
 var content = ListaProductos.Rows[e.RowIndex].Cells["Name"].Value.ToString();
 var abrirNuevoProducto = new modificar_producto(content ); // I want to pass data to another form
 abrirNuevoProducto.Show(); // loads the new form with data for modification
 }
这对我有用,但是。。。这样一个接一个地做会很累也很乏味:

var content = ListaProductos.Rows[e.RowIndex].Cells["Name"].Value.ToString();
var content2 = ListaProductos.Rows[e.RowIndex].Cells["Age"].Value.ToString();
var conten3 = ListaProductos.Rows[e.RowIndex].Cells["Surname"].Value.ToString();
var content4 = ListaProductos.Rows[e.RowIndex].Cells["Address"].Value.ToString();
... and 150 more columns
 var abrirNuevoProducto = new modificar_producto(content, content2, content3, content4 ... and so on); // I want to pass data to another form
 abrirNuevoProducto.Show(); // loads the new form with data for modification
我会用一个列表来做这件事,但是…,我想知道是否有一个简单的方法来做这件事,因为我正在尝试的方法是非常疲惫和糟糕的。或者我应该使用列表来代替


我需要将数据传递到另一个表单以进行修改操作。

如果您已经为此表定义了一个类,则可以使用如下代码

var products = new List<Products>(grid.SelectedRows.Count);

for(int index = 0; index < grid.SelectedRows.Count; index++)
{
   var selectedRow = grid.SelectedRows[index];
   var product = (Products)selectedRow.DataBoundItem;

   products.Add(prduct);
}
var产品=新列表(grid.SelectedRows.Count);
for(int index=0;index
或者,如果没有类定义,可以使用dynamic关键字

var products = new List<dynamic>(grid.SelectedRows.Count);

for(int index = 0; index < grid.SelectedRows.Count; index++)
{
   var selectedRow = grid.SelectedRows[index];
   var product = (dynamic)selectedRow.DataBoundItem;

   products.Add(prduct);
}
var产品=新列表(grid.SelectedRows.Count);
for(int index=0;index
即使使用
DataGridViewCellEventArgs e
也可以吗?我正在使用事件单元格双击