在gridview的末尾插入复选框列

Posted

技术标签:

【中文标题】在gridview的末尾插入复选框列【英文标题】:Insert checkbox column at the end of gridview 【发布时间】:2011-10-10 23:05:10 【问题描述】:

我的 GridView 包含 20 个以编程方式添加的列(DataTable、DataColumn、DataRow 和 DataSet)。现在我需要插入一个复选框列作为最后一列(21st 列)。我应该如何添加它?

我尝试在 .aspx 文件中添加常用的模板字段(来自设计选项卡),但添加了一个复选框作为第一列,而 not 作为最后一列。

【问题讨论】:

你的意思是说列是为网格视图自动生成的? 没有不自动生成的列 no.. 我已经使用数据表、列和行添加了列和行 GridView 的 AutoGenerateColumns="true" 还是“false”? 对此没有任何提及.. 【参考方案1】:

如果您使用DataTable 绑定GridView,请在设置GridView DataSource 之前执行此操作。

dataTable.Columns.Add("Select", Type.GetType("System.Boolean"));

DemoGrid.DataSource = dataTable;
DemoGrid.DataBind();

foreach (GridViewRow row in DemoGrid.Rows)

    //check box is the first control on the last cell.
    CheckBox check = row.Cells[row.Cells.Count - 1].Controls[0] as CheckBox;
    check.Enabled = true;

在不相关的旁注中,请注意您的 asp:GridView 实际上是自动生成的

【讨论】:

谢谢..!但是正在添加的复选框都被禁用和取消选中..有什么方法可以启用和取消选中?【参考方案2】:

为勾选的列创建一个TemplateField,并在底部添加复选框作为footertemplate,并通过GridView.ShowFooter = true;页脚是放置此类常用控件的好地方。

如果页脚不是一个选项,常见的技巧是将一个空的数据行绑定到 UI,该 UI 将具有复选框。

HTH。

【讨论】:

我认为要求是将最后一列添加为复选框,而不是页脚行 brian,但我们没有每个 gridviewrow 的页脚行:)。解决此问题的唯一方法是将另一列附加到 typr boolean 的数据集以保证复选框。 哦,我现在明白了,我真的很密集。我没有看到专栏部分。

以上是关于在gridview的末尾插入复选框列的主要内容,如果未能解决你的问题,请参考以下文章

ASP:带有分页的 Gridview 复选框列未显示选中了哪个复选框

将复选框列添加到 asp.net gridview

ASP.NET Gridview 复选框列 - Onclick 和 jquery

给GridView添加列头复选框

如何在DevExpress的GridView控件里面添加多选框的列

怎样向Gridview表头里放一个复选框,以实现多选?