2011-04-18 35 views
0

我使用下面的代碼以填充點擊後的複選框表,但是有在表上沒有變化複選框在GridView控件不更新我的表

protected void Button1_Click(object sender, EventArgs e) 
    { 
     con.Open(); 

     for (int i = 0; i < GridView1.Rows.Count; i++) 
     { 
      CheckBox chkUpdate = (CheckBox) 
     GridView1.Rows[i].Cells[0].FindControl("chkSelect"); 
      if (chkUpdate != null) 
      { 
       if (chkUpdate.Checked) 
       { 
        string strID = GridView1.Rows[i].Cells[1].Text; 
        SqlCommand cmd; 
        string str1 = "update app1 set p_id=0 where p_id='" + strID + "'"; 
        cmd = new SqlCommand(str1, con); 
        cmd .ExecuteNonQuery(); 
       } 
      } 
     } 
    } 
+1

呃......什麼又是你的問題?首先,我沒有看到問號。其次,我沒有看到這個代碼如何與填充'DataGridView'相關。 – Bobby 2011-04-18 10:18:15

+0

'p_id'的數據類型是什麼? – KaeL 2011-04-18 10:21:17

+0

@boby和凱爾我有一個名稱爲app1的表(名爲'兩列'nam'和'p_id'p_id是int型)..在前端,我使用gridview內的複選框並點擊複選框,當用戶最終點擊按鈕..改變應該反映回 – user635545 2011-04-18 10:30:10

回答

0

我猜你真的不有空間cmd .ExecuteNonQuery();

調試時,你可以進入if(chkUpdate.Checked)塊嗎?

+0

我不得到u..plz解釋一下 – user635545 2011-04-18 10:31:01

+0

@adrianos cmd .ExecuteNonQuery不是空格它是問題格式問題 – gbbosmiya 2011-04-18 10:34:17

+0

你可以調試該方法嗎?也就是說,如果你在它上面放置一個斷點,它是否會找到複選框? – adrianos 2011-04-18 10:38:11

1

試試這個代碼,它的工作原理

foreach (GridViewRows gdrv in GridView1.Rows) 
    { 
     CheckBox chkUpdate = (CheckBox) 
    gdrv.FindControl("chkSelect"); 
     if (chkUpdate != null) 
     { 
      if (chkUpdate.Checked) 
      { 
       string strID = gdrv.Cells[1].Text; 
       SqlCommand cmd; 
       string str1 = "update app1 set p_id=0 where p_id='" + strID + "'"; 
       cmd = new SqlCommand(str1, con); 
       con.open(); 
       cmd .ExecuteNonQuery(); 
       con.close(); 
      } 
     } 
    } 
+0

與此代碼我收到錯誤「的GridView不包含什麼也ü細胞[1]用細胞 – user635545 2011-04-18 10:35:09

+0

任何認定中沒有任何控制 – gbbosmiya 2011-04-18 10:36:46

+0

給我的GridView – gbbosmiya 2011-04-18 10:42:04

0

我想在查詢中唯一的問題是「去哪兒」的條件......如果是的p_id int類型,那麼你就不必使用「」。 ..

所以語句必須是:

string str1 = "update app1 set p_id=0 where p_id=" + strID; 
+0

它沒有工作 – user635545 2011-04-18 10:49:46