【问题标题】:Add a checkboxes column to a gridview将复选框列添加到网格视图
【发布时间】:2016-12-26 14:09:26
【问题描述】:

我有一个显示来自 SQL 数据源(存储过程)的数据的 gridview,我想在其中添加一个 checkboxex 列,这是我的代码:

TemplateField field = new TemplateField();
field.HeaderText = "Exporter ?";
gv.Columns.Add(field);
CheckBox cb = new CheckBox();
cb.Visible = true;

问题是我不知道如何将复选框添加到我添加到我的 gridview 列中的 TemplateField。

【问题讨论】:

标签: c# asp.net gridview


【解决方案1】:

1) 将以下代码添加到 GridView 列。

 <asp:TemplateField HeaderText="CheckBoxColumn" Visible="False">
            <ItemTemplate>
                <asp:CheckBox ID="checkBox" runat="server"></asp:CheckBox>                   
            </ItemTemplate>
 </asp:TemplateField>

2) 通过添加 OnRowDataBound 事件或仅循环遍历 GridView.Rows

使复选框列动态可见
int indexOfCBColumn = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
   e.Row.Cells[indexOfCBColumn].Visible = true;
}



foreach(GridViewRow row in GridView1.Rows) {
   if(row.RowType == DataControlRowType.DataRow) {
      row.Cells[indexOfCBColumn].Visible = true;
   }
}

谢谢!!

【讨论】:

    【解决方案2】:

    您可以将下面的代码添加到GridView

    <asp:templatefield HeaderText="Check Box">
        <itemtemplate>
            <asp:checkbox ID="cb" runat="server"></asp:checkbox>
        </itemtemplate>
    </asp:templatefield>
    

    【讨论】:

    • 谢谢,我还希望默认情况下包含复选框的列不可见,以编程方式使其在运行时可见,我不知道如何执行第二部分,因为我无法添加 ID属性到模板字段或项目模板标签?
    • 我相信Gounder有答案。
    猜你喜欢
    • 2017-09-26
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2015-08-10
    相关资源
    最近更新 更多