2011-06-07 72 views
1

我需要在foreach函数在一个DataGridView中的所有行。我怎样才能做到这一点?C#获取行从DataGridView

I.E. foreach()为每一行,所以对于每一行我都可以运行可以利用第一列和第二列数据的代码。

这是在C#

感谢, 基督教

+0

好多了访问网格绑定到数据源。 – 2011-06-07 17:31:56

+0

这不是绑定到一个。它应该由用户填充。 – 2011-06-07 17:32:41

+0

I.E.我把一个数据网格视图放在一个窗体窗体中,并让用户创建值,然后从中获取数据。 – 2011-06-07 17:33:31

回答

1

我想访问该数据的最好的方法是既可以通过Data Source

dataGridView.DataSource = someData; 
someData.property; 

,或者,如果用户进入页面上的数据,可以从FindControl方法访问:

name = ((TextBox)dataGridView.Rows[e.RowIndex].FindControl("name")).Text; 

在这种情况下,如果你养了特定行的事件,它将返回EventArgs e,具有特定RowIndex。然后,你可以列中访问通过ControlID列值,如<asp:TextBox id="name" runat="server" />.FindControl("name")

要记住的重要一点是,你要投那个对象回到它应该从.FindControl()方法的类型。

0
foreach(DataGridViewRow row in dataGridView.Rows) 
{ 
    //Your code here 
} 
+0

我知道这一点。我如何从Coloum 1和Colum 2获取数据?字符串。 – 2011-06-07 17:31:36

+0

尝试'row.Columns [index]'。 – dandan78 2011-06-07 17:35:25

+2

row.Cells [columnIndex]。文本 – vityanya 2011-06-07 17:38:58

2

请记住,它总是到DataGridView绑定到数据源,然后使用数据源做任何事情一个很好的做法数据 - 有关。这可以让你干净地与数据网格进行交互。