如何使用C#.Net Form应用程序以另一种形式显示gridview的选定行?

时间:2013-02-13 06:20:41

标签: c# asp.net .net

如何使用C#.Net Form应用程序以另一种形式显示gridview的选定行?

请用编码回答这个问题。我无法以另一种形式访问第一个表单gridview。我想将gridview值存储在另一个表单文本框中。

1 个答案:

答案 0 :(得分:0)

如果它是你的后续行,最简单的方法是让每一行都是一个数据绑定对象。您可以使用包含属性的任何类来执行此操作。

class Foo
{
    public string Column1 { get; set; }
    public float Column2 { get; set; }
    public int Column3 { get; set; }
}

接下来,将类型为Foo的绑定列表附加到dataGridView。您可能希望自己填充此列表,或者允许用户使用dataGridView填充列表。

BindingList<Foo> source = new BindingList<Foo>();

// Add items/rows to list if needed...

dataGridView.DataSource = source;

如果要获取所选行,只需使用dataGridView的SelectedRows属性即可。每行包含一个DataBoundItem属性,该属性保存原始绑定列表的数据对象。如何使用它的一个示例是创建一个新的选定对象列表,然后您可以将其传递到第二个表单中进行查看或修改。

List<Foo> selected = new List<Foo>();
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
    selected.Add(row.DataBoundItem as Foo);

// Assuming your second form has a property for the list to be passed into.

form2.SelectionList = selected;