【问题标题】:Change Field to Checkbox inside GridView将字段更改为 GridView 内的复选框
【发布时间】:2012-03-10 04:52:17
【问题描述】:

我正在尝试将字段更改为 GridView 中的复选框。

我目前根据查询动态创建网格列,并且我想将一些列更改为复选框,以便用户可以选中/取消选中它。我知道我不能通过 .aspx 页面使用但我试图远离静态创建字段。

任何帮助都会很棒。

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    利用 GridView 的 RowDataBound 事件。因此,您可以将任何控件添加到您的 GridView。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
               if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    CheckBox chk1 = new CheckBox();
                    chk1.ID = "chkbox1";
                    e.Row.Cells[0].Controls.Add(chk1);
                }
            }
    

    编辑评论:

    将值从数据库传递到 gridview 后(超出此问题的范围),您可以使用 e.Row.Cells[i].Text 访问这些值,其中“i”是行。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
               if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    TextBox txt1 = new TextBox();
                    txt1.Text = e.Row.Cells[0].Text;
                    e.Row.Cells[0].Controls.Add(txt1);
                }
            }
    

    【讨论】:

    • 嘿,谢谢发帖...我只是有一个问题,您现在如何更改已绑定的字段?
    • 嗨,我听不懂。你试过这个例子吗?
    • 是的,它创建了一个额外的列作为复选框。我想要的是获取现有列并将其转换为复选框。目前我所拥有的是当我将数据与表绑定时,我的数据库字段是位,因此 GridView 显示由网格生成的复选框,但我无法访问它们,因为它们是只读的。
    猜你喜欢
    • 2015-01-27
    • 2014-01-04
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多