2011-06-07 68 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綁定到數據源,然後使用數據源做任何事情一個很好的做法數據 - 有關。這可以讓你乾淨地與數據網格進行交互。