单击复选框显示/隐藏GridView列,导致GridView分页问题
GridView Column show/hide onclick of checkbox causing gridview paging problems
我从复选框onclick事件中调用showhide()函数,这个showhide函数也隐藏了Gridview页面,因为Gridview页也与<tr>
和<td>
形成,在我的代码中,我使用网格视图列的索引来隐藏。但对于我的要求,我只需要隐藏gridview列。有办法做到这一点吗?
<asp:CheckBox ID="chkReceiveDt" runat="server" Checked="true"
OnClick="showhide(this,'ReceiveDt')" />
<script type="text/javascript">
function showhide(sender, ColumnText) {
var isChecked = $('#' + sender.id).is(":checked");
var th = $("[id*=GridView1] th:contains(" + ColumnText + ")");
th.css("display", isChecked ? "" : "none");
$("[id*=GridView1] tr").each(function () {
$(this).find("td").eq(th.index()).css("display", isChecked ? "" : "none");
});
}
</script>
在复选框上单击事件,将您想要隐藏/显示的Gridview列号传递给下面的功能。代码工作得很好,不会干扰Gridview的分页。
<asp:CheckBox ID="chkReceiveDt" runat="server" Checked="true"
OnClick="showhideColumn(this,1)" />
<script type="text/javascript">
function showhideColumn(sender, col_num)
{
var isChecked = $('#' + sender.id).is(":checked");
var grid = document.getElementById("<%=GridView1.ClientID %>");
for (i = 1; i < grid.rows.length; i++) {
grid.rows[i].cells[col_num].style.display = isChecked ? "" : "none";
}
}
</script>
我今天在遵循作者的教程时也遇到了这个问题。我想我也会分享我的简单的修复问题的pager。
由于分页存储在页眉和页脚中,因此在从gridview中选择行时,只需在选择行时添加以下行,就可以忽略它们:
.not('thead tr').not('tfoot tr');
$("[id*=GridView1] tr").each(function () {
$(this).find("td").eq(th.index()).css("display", isChecked ? "" : "none");
});
是
$("[id*=GridView1] tr").not('thead tr').not('tfoot tr').each(function () {
$(this).find("td").eq(th.index()).css("display", isChecked ? "" : "none");
});
没有更多的分页问题。现在,根据GridView分页的方式,您可能会遇到跨PostBacks维护列可见性的问题。为了解决这个问题,我保存并读取isChecked从一个隐藏的字段,和OnRowDataBound
的GridView我注册一个客户端脚本块来调整视图。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- ExtJS 5用程序点击actioncolumn gridview
- Ajax请求文档就绪会导致jquery加载缓慢
- 由于iframe导致的问题
- 刷新导致我的帖子“;张贴“;再一次
- 选择不在GridView-ASP.NET中激发
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 处理JSON字符串会导致JavaScript错误
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- Grunt构建导致Angular应用程序在dist上崩溃
- Snap()方法导致Uncaught TypeError
- jquery Onclick函数带有导致双击的回调排序函数
- 为什么要返回'这'在导致循环的JavaScript原型中
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 什么's导致了512字节的限制-openkeyval或其他什么
- 重复应用 d3 转换导致的内存泄漏
- GridView页面索引更改事件导致JavaScript运行时错误
- 单击复选框显示/隐藏GridView列,导致GridView分页问题