在数据网格视图中使用复选框

时间:2014-12-08 06:23:01

标签: c# checkbox datagridview

下面的图片来自现成的软件。 我想准备这样的数据网格。如何在C#中的数据网格中插入一个复选框?

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以选择列类型DataGridViewCheckBoxColumn enter image description here

答案 1 :(得分:0)

首先,你必须为gridview创建一个templatefield列,如下所示:

<asp:GridView ID="dgvTxnPermission" runat="server" AutoGenerateColumns="False" CssClass="table table-hover table-striped" >
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" >
                            <ControlStyle Width="200px" />
                            <ItemStyle Width="150px"></ItemStyle>
                        </asp:BoundField>

                        <asp:TemplateField HeaderText="Permission" AccessibleHeaderText="Permission">
                            <ItemTemplate>
                                <asp:CheckBox ID="chkRow" runat="server" />
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" />
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

之后,你可以在gridview中绑定你的数据:

 private void BindToDataGridView(DataTable dataTable) 
    {
        for (int j = 0; j < dataTable.Rows.Count; j++)
        {
            for (int i = 0; i < alTxnTypeId.Count; i++)
            {
                if (dataTable.Rows[j].ItemArray[1].ToString() == alTxnTypeId[i].ToString())
                {
                    (dgvTxnPermission.Rows[i].Cells[2].FindControl("chkRow") as CheckBox).Checked = true;
                    break;
                }
            }
    }
}

编辑:该代码是:我的示例项目的一部分。只是我没有修改就编译和粘贴。所以,不要介意像CssClass等细节,以及其他事情。只是了解我的示例代码..