在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 复选框列 - Onclick 和 jquery