datagridview中使用checkbox问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datagridview中使用checkbox问题。相关的知识,希望对你有一定的参考价值。

如果套用datagridview中的checkboxfield,生成的数据,会出现无法选择datagridview中数据项的问题,即checkbox不可以被鼠标点击,选中/取消选中。此checkbox的选中与否,完全取决于数据库,表中的bool值得类型,当值为true的时候,生成的datagridview中的checkbox是处于勾选状态的,要想取消勾选,需要通过sql语句,来修改后台数据库表中的对应字段的值(把true改成false)。这种方法比较烦。

另一种比较好的做法是在datagridview中增加一个templatefield,然后再在下面添加itemtemplate,在该itemtemplate中,增加checkbox控件。

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"  EnableModelValidation="True" style="width: 13px" >
            <Columns>
                <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox id="chk" runat="server"/>
                </ItemTemplate>
                    <ItemStyle HorizontalAlign="Center" />
                </asp:TemplateField>                
                <asp:BoundField DataField="USERID" HeaderText="代理设定" >
                <ItemStyle HorizontalAlign="Center" />
                </asp:BoundField>
            </Columns>
        </asp:GridView>

这样生成的checkbox控件就可以被选中了。选中的checkbox控件,如何取值?

可以循环遍历datagridview中的rows,然后将值checkbox为true的值取出即可。

 bool result = false;
 List<string> name=new List<string> ();
 for (int i = 0; i < GridView2.Rows.Count;i++ )
        {
            result = ((CheckBox)GridView2.Rows[i].FindControl("chk")).Checked;
            if (result)
                name.Add(GridView2.Rows[i].Cells[1].Text.Trim());
        }

 

以上是关于datagridview中使用checkbox问题。的主要内容,如果未能解决你的问题,请参考以下文章

datagridview中checkbox如何使其勾上

在DataGridView CheckBox中限制检查

Winform datagridview checkbox全选问题

在datagridview中如何使用checkbox作为radiobutton?

C#datagridview中checkbox无法手动选中

WinForm中datagridview里怎样判断checkbox是不是被选中~