我想在GRIDVIEW里中的某一列里加个CHECKBOX 怎么做啊
最好还有选中以后的事件

解决方案 »

  1.   

    我在编辑列里选中checkboxfield后添加是灰的,为什么啊
      

  2.   


    'CheckBox列追加
    Dim column As New DataGridViewCheckBoxColumn
    DataGridView1.Columns.Add(column)
    [code=C#]
    //CheckBox列追加
    DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
    DataGridView1.Columns.Add(column);
    [code]
      

  3.   

    上面哪个写在GridView1_RowCreated还是 GridView1_RowDataBound这里面啊
      

  4.   

    你用模版列,然后就用你平常用的方式,把checkbox放进那一列里去就可以了。取值,用遍历row,findcontrol的方式就能得到了。
      

  5.   

    foreach   (GridViewRow   row   in   GridView1.Rows)  
              {  
                     CheckBox   cb   =   (CheckBox)row.FindControl("CheckBox1");   
                string id = GridView1.DataKeys[row.RowIndex].Value.ToString();
                string aaa = GridView1.DataKeys[1].Value.ToString();
                     if (GridView1.DataKeys[1].Value.ToString() == "1")
                     {
                         cb.Checked = true;
                     }
                      
              }
    我的datakeynames里有XwId,XwQy
    分别是               1     1
                         2     0
                         3     1我用断点看了一下
    结果发现aaa 都是2 了,为什么啊
      

  6.   

    楼上的事件是在
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    里写的
      

  7.   

    我在GRIDVIEW外面有一个按钮
    每一个GRIDVIEW行里有一个CHECKBOX
    我怎么能通过按钮的点击事件知道我选了哪个CHECKBOX,
    把每行的ID取出来
      

  8.   

            <asp:TemplateField HeaderText="check">
            <ItemTemplate>
            <asp:CheckBox ID="chk1" runat="server" OnCheckedChanged="go" AutoPostBack="true" />
            </ItemTemplate>
            </asp:TemplateField>
    楼主我只告诉怎么取得行索引行吧。go是一个函数的名称,代码如下。
        public void go(object sender, EventArgs e)
        {
            CheckBox cb = (CheckBox)sender;
            GridViewRow gvr = (GridViewRow)cb.Parent.Parent;
            Response.Write(gvr.RowIndex.ToString());
        }
    直接就得到行索引了,得到行索引后一切操作都很简单了。