因为我还是 c# 的新手,我无法将所选行从 datagridview1(表单 1)传递到 datagridview2(表单 2)假设我必须传递大量列,我该怎么做?
如果可能的话,我可以选择多行并相应地传递到另一个数据 GridView 吗?
我试过传递到另一个文本框,但它并不理想
if (tableListBox.SelectedIndex == 2)
{
foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
{
int counter = 0;
ID = dr.Cells[1].Value.ToString();
while (counter < dataGridView1.Columns.Count)
{
ColumnsHeader = dataGridView1.Columns[counter].HeaderText;
CellsValue = dr.Cells[counter].Value.ToString();
pass += ColumnsHeader + " " + CellsValue + " " + "\n";
counter++;
}
Form4 form4 = new Form4(pass, dr.Cells["Deposition Date"].Value.ToString(), ID, tableListBox.SelectedIndex, dr.Cells["Deposition Date"].Value.ToString());
form4.Show();
break;
}
}
最佳答案
如果您的 GridView 已绑定(bind)到一个对象,您可以获得绑定(bind)对象并将其发送到 form2,因为它具有您需要的所有信息。
if (tableListBox.SelectedIndex == 2)
{
List<object> sendingList = new List<object>();
foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
{
int counter = 0;
sendingList.Add(dr.DataBoundItem);
}
Form4 form4 = new Form4(sendingList);
form4.Show();
break;
}
我假设您的 Form4 类有一个带有 List 参数的构造函数
关于c# - 将选定的行 gridview 传递到另一个表单上的另一个 gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219976/