如何给Gridview 每个单元格添加一格checkbox
Gridview 每个单元格添加一格checkbox, 后在点一个Save按钮后怎么样来获取哪些checkbox是选中的
添加checkbox:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
     {
         for (int i = 0; i < e.Row.Cells.Count; i++)
         {
             e.Row.Cells[i].Wrap = false;
         }
         if (e.Row.RowType == DataControlRowType.DataRow)
         {
             //e.Row.Cells[5].BackColor = System.Drawing.Color.FromName("#FFBD9D");
             if (e.Row.RowIndex >= 0)
             {
                 for (int j = 1; j < GridView1.Columns.Count; j++)
                 {
                     CheckBox cb = new CheckBox();
                     cb.ID = "chk"  + e.Row.RowIndex  + j;
                     e.Row.Cells[j].Controls.Add(cb);                      
                     if (!cb.Checked)
                         //e.Row.Cells[j].Text = "<input type='checkbox' name='chk' onclick='docheck(this)'>";
                         e.Row.Cells[j].BackColor = System.Drawing.Color.FromName("#BBFFBB");                 
                 }    
             }
          }
     }
提取:
  protected void btnSave_Click(object sender, EventArgs e)
     {
         string strSql;
         for (int i = 1; i < GridView1.Columns.Count; i++)
         {
             string strPjcd = GridView1.Columns[i].HeaderText;
             for (int j = 0; j < GridView1.Rows.Count; j++)
             {
                 string strPsnm = GridView1.Rows[i].Cells[0].Text;
                 CheckBox ck = (CheckBox)GridView1.FindControl("chk" + j + i);
                 if (ck.Checked)
                 {
                     strSql = "";
                 }
             }
         }
         getData();
     }
为什么提取时ck 为null;求解决
------解决方案--------------------用WPF吧,利用资源模板很容易实现的
------解决方案--------------------使用
"<input type='checkbox' name='chk' onclick='docheck(this)'>";
Request.Form["chk"]
得到
------解决方案--------------------
使用
CheckBox cb = new CheckBox();
 cb.ID = "chk" + e.Row.RowIndex + j;
的话
后台
for(int i = 0;i<Request.Form.Count;i++)
{
if(Request.Form.Keys[i].StartsWith("chk"))
Response.Write("<li>" + Request.Form.Keys[i].ToString() + " = " + Request.Form[i].ToString());
}