0、GridView中的所有數據都存儲在Rows集合中,可以通過Rows的Cell屬性獲取單個單元格的值;如果某個單元格包含其他控件,則通過使用單元格的 Controls 集合,從單元格檢索控件;如果控件指定了 ID,可以使用單元格的 FindControl 方法來查找該控件。
1、從 BoundField 字段列或自動生成的字段列檢索字段值,請使用單元格的 Text 屬性;
C#代碼:
string value= GridView1.Rows[rowIdx].Cells[colIdx].Text;
2、若要從將字段值綁定到控件的其他字段列類型檢索字段值,請先從相應的單元格檢索控件,然后訪問該控件的相應屬性。
C#代碼:
1 <asp:Label runat="server" Text='<%# Bind("Quantity") %>' id="Label1"> 2 </asp:Label> 3 4 ... 5 6 Label Label1= (Label)GridView1.Rows[rowIdx].Cells[colIdx].FindControl("Label1"); 7 8 if (Label1!= null){ 9 // 讀取 Label1.Text 10 }
3、對於TemplateField 字段列,可以直接使用數據綁定表達式,無需將值綁定到控件的某個屬性。 在這種情況下,字段值將自動放置在 DataBoundLiteralControl 控件中。 若要檢索字段值,必須先從相應單元格檢索 DataBoundLiteralControl 控件,然后再使用其 Text 屬性。
C#代碼:
string value = ((DataBoundLiteralControl)GridView1.Rows[rowIdx].Cells[colIdx].Controls[0]).Text;