2011-04-16 118 views
2

我使用複選框以gridview..to得到複選框的ID,我使用下面的代碼..複選框中的GridView

for (int i = 0; i < GridView1.Rows.Count; i++) 
    { 
     CheckBox chkDelete = (CheckBox)GridView1.Rows.Cells[0].FindControl("chkSelect"); 
     if (chkDelete != null) 
     { 
      if (chkDelete.Checked) 
      { 
       strID = GridView1.Rows.Cells[1].Text; 
       idCollection.Add(strID); 
      } 
     } 
    } 

但關鍵字「CELLS」 ..不要support..i我得到一個錯誤..「System.Web.UI.WebControls.GridViewRowCollection」不包含「單元格」的定義「

+0

我不知道你是硬編碼值細胞樣細胞爲什麼要循環語句的方式[0]和單元格[1]如果你需要其他行數據 – Dotnet 2011-04-16 09:30:01

回答

2

這是正確的; GridViewRowCollection class不包含名稱爲Cells的方法或屬性。原因在於GridView控件的Rows屬性返回GridViewRowCollection對象,並且當您調用GridView1.Rows.Cells時,它正在屬性返回的GridViewRowCollection對象上搜索Cells屬性。

3

這是你必須檢查

foreach (GridViewRow grRow in grdACH.Rows) 
    { 
     CheckBox chkItem = (CheckBox)grRow.FindControl("checkRec"); 
     if (chkItem.Checked) 
     { 
      strID = ((Label)grRow.FindControl("lblBankType")).Text.ToString(); 
     } 
} 
+0

if(chkItem.Checked) { }如何決定使用上面的代碼複選框被選中 – user635545 2011-04-16 09:18:57

+0

你會得到相應的控件,如果它被選中definitel y顯示你爲檢查你有沒有嘗試過,或者發佈你的aspx頁面的設計,以便我按照你的要求給出 – Dotnet 2011-04-16 09:24:23

+0

在代碼的第一行代碼中grdACH是什麼。 – 2011-07-12 15:06:08

0
foreach (GridViewRow rowitem in GridView1.Rows) 
      { 
       CheckBox chkDelete = (CheckBox)rowitem.Cells[0].FindControl("chkSelect"); 
       if (chkDelete != null) 
       { 
        if (chkDelete.Checked) 
        { 
         strID = rowitem.Cells[1].Text; 
         idCollection.Add(strID); 
        } 
       } 


      } 
1
for (int i = 0; i < GridView1.Rows.Count; i++) 
{ 
    CheckBox chkDelete = (CheckBox)GridView1.Rows[i].FindControl("chkSelect"); 
    if (chkDelete != null) 
    { 

     if (chkDelete.Checked) 
     { 
      strID = GridView1.Rows[i].Cells[1].Text; 
      idCollection.Add(strID); 
     } 
    } 
}