如何在C#中同时将datagridview的多个单元格值从一个窗体传递到另一个窗体?
我是c#新手,我使用的是windows窗体。 我有如何在C#中同时将datagridview的多个单元格值从一个窗体传递到另一个窗体?,c#,winforms,C#,Winforms,我是c#新手,我使用的是windows窗体。 我有Form1和datagridview以及Form2和地图 我想同时将datagridview单元格值的未知数量(无限数量)从Form1传递到form2,这是因为我想在地图上显示Form1的选定单元格值(地址)。 我知道如何使用setter和getter,但在这种情况下,我认为setter和getter不起作用,因为我想传递给form2的单元格值的数量未知 任何人都知道如何将多个datagridview单元格值同时从form1传递到form2?请帮
Form1
和datagridview
以及Form2
和地图
我想同时将datagridview
单元格值的未知数量(无限数量)从Form1
传递到form2
,这是因为我想在地图上显示Form1
的选定单元格值(地址)。
我知道如何使用setter和getter,但在这种情况下,我认为setter和getter不起作用,因为我想传递给form2
的单元格值的数量未知
任何人都知道如何将多个datagridview
单元格值同时从form1
传递到form2
?请帮忙,谢谢
Form1中的代码在所有选定行中循环,我想传递
单元格[0]。值
至表格2
:
foreach (DataGridViewRow row in DGV.SelectedRows)
{
// here I have to pass all selected row.Cells[0].Value to form2
}
以下是我的解决方案:
List<string> values = new List<string>();
foreach (DataGridViewRow row in DGV.SelectedRows)
{
values.Add(row.Cells[0].Value);
}
myForm2.SetForm1Values(values);
列表值=新列表();
foreach(DGV.SelectedRows中的DataGridViewRow行)
{
添加(行单元格[0].Value);
}
myForm2.SetForm1值(值);
这里有几个注意事项,第一个是您必须能够获得对其他表单实例的引用(这里表示为myForm2
)。我在这里使用了一个名为SetForm1Values
的方法,因为您指出您不确定属性是否可以工作,但实际上属性设置器与此方法一样有效。以下是我的解决方案:
List<string> values = new List<string>();
foreach (DataGridViewRow row in DGV.SelectedRows)
{
values.Add(row.Cells[0].Value);
}
myForm2.SetForm1Values(values);
列表值=新列表();
foreach(DGV.SelectedRows中的DataGridViewRow行)
{
添加(行单元格[0].Value);
}
myForm2.SetForm1值(值);
这里有几个注意事项,第一个是您必须能够获得对其他表单实例的引用(这里表示为
myForm2
)。我在这里使用了一个名为SetForm1Values
的方法,因为您表示不确定属性是否有效,但实际上属性设置器与此方法一样有效。创建一个字符串列表并将其传递到下一个表单
List<string> cellvalueList = new List<string>();
foreach (DataGridViewRow row in DGV.SelectedRows)
{
// here I have to pass all selected row.Cells[0].Value to form2
cellvalueList.Add(row.Cells[0].Value);
}
此SetValues是Form2中的函数,它将字符串列表作为参数创建字符串列表并将其传递到下一个表单
List<string> cellvalueList = new List<string>();
foreach (DataGridViewRow row in DGV.SelectedRows)
{
// here I have to pass all selected row.Cells[0].Value to form2
cellvalueList.Add(row.Cells[0].Value);
}
此SetValues是Form2中的函数,它将字符串列表作为参数您可以使用以下代码获取所选行的
单元格[0]
的值:
List<string> selectedData = this.dataGridView1.SelectedRows.Cast<DataGridViewRow>()
.Select(row => (string)row.Cells[0].Value)
.ToList();
List selectedData=this.dataGridView1.SelectedRows.Cast()
.Select(行=>(字符串)行。单元格[0]。值)
.ToList();
这相当于:
List<string> selectedData = new List<string>();
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
selectedData.Add((string)row.Cells[0].Value);
}
List selectedData=new List();
foreach(此.dataGridView1.SelectedRows中的DataGridViewRow行)
{
选择数据。添加((字符串)行。单元格[0]。值);
}
您可以使用以下代码获取所选行的单元格[0]
的值:
List<string> selectedData = this.dataGridView1.SelectedRows.Cast<DataGridViewRow>()
.Select(row => (string)row.Cells[0].Value)
.ToList();
List selectedData=this.dataGridView1.SelectedRows.Cast()
.Select(行=>(字符串)行。单元格[0]。值)
.ToList();
这相当于:
List<string> selectedData = new List<string>();
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
selectedData.Add((string)row.Cells[0].Value);
}
List selectedData=new List();
foreach(此.dataGridView1.SelectedRows中的DataGridViewRow行)
{
选择数据。添加((字符串)行。单元格[0]。值);
}
能否将它们作为列表传递?你的问题中没有足够的信息来真正帮助你。@Reza Aghaei。数据来自sqlserver@CodingGorilla. 我不知道我能不能。请询问我是否遗漏了任何信息如果你不知道你能通过什么或如何通过,我不确定我们中的任何人是否能帮助你。我可以告诉你,绝对可以将它们作为列表
传递。你可以将值放入列表
,正如@CodingGorilla提到的,T是第0列中的值类型。你可以将它们作为列表
传递吗?你的问题中没有足够的信息来真正帮助你。@Reza Aghaei。数据来自sqlserver@CodingGorilla. 我不知道我能不能。请询问我是否遗漏了任何信息如果你不知道你能通过什么或如何通过,我不确定我们中的任何人是否能帮助你。我可以告诉你,绝对可以将它们作为列表
传递。你可以将值放入列表
中,如@CodingGorilla所述,T是第0列中的值类型。