- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个有 2 个级别的基本树形网格,我希望隐藏一些行而其他行可见;我以编程方式使用 $("#"+ rowId).hide() 和 $("#"+ rowId).show() 执行此操作,因为哪些行可见取决于网格外的数据。那部分工作正常。
但是,当我折叠一个节点然后展开它时,所有子节点都是可见的,即使是我隐藏的子节点也是如此。显然,jqGrid 几乎只是在行上执行 .hide() 和 .show() ,这否定了我的设置。所以我的想法是在每一行添加一个隐藏字段来存储它是否应该可见,然后在展开事件之后重新隐藏/显示。问题是,我不确定如何捕获事件并在其后立即执行代码。
Oleg 在此处展示了一种捕获事件的方法:jqGrid treeGrid catch expand collaps events
不幸的是,这对我不起作用,因为它只会覆盖我在那里所做的任何隐藏/显示。我需要在 jqGrid 函数之后执行代码。关于如何做到这一点的任何想法?
最佳答案
解决方案对我来说似乎很容易。只需对来自 the answer 的代码做一些小的修改你引用的。您可以执行以下操作
var orgExpandNode = $.fn.jqGrid.expandNode;
$.jgrid.extend({
expandNode: function (rc) {
// here you can insert the code which will be executed
// before the original expandNode
var res = orgExpandNode.call(this, rc);
// now you can execute some code after the original expandNode
// for example the next line hide the node in the grid
$("#1_1_1").hide(); // hide some row of the grid
return res; // return the value from expandNode
}
});
id="1_1_1"
,但它一直处于隐藏状态。
beforeExpandRow
,
afterExpandRow
,
beforeExpandNode
和
afterExpandNode
回调和
"jqGridTreeGridBeforeExpandRow"
,
"jqGridTreeGridAfterExpandRow"
,
"jqGridTreeGridBeforeExpandNode"
,
"jqGridTreeGridAfterExpandNode"
事件。因此,在使用免费 jqGrid 的情况下,不需要上述 TreeGrid 方法的子类化。
关于jqgrid - 如何隐藏 jqGrid treegrid 中的行,在 expandNode 事件之后触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15282974/
我有一个有 2 个级别的基本树形网格,我希望隐藏一些行而其他行可见;我以编程方式使用 $("#"+ rowId).hide() 和 $("#"+ rowId).show() 执行此操作,因为哪些行可见
Bootstrap TreeView 中的节点只能使用 + & - 前缀折叠/展开。我知道点击事件是为了不那么平凡的事情而保存的。我们确实使用点击事件将有关叶子的信息发送到页面的其他部分。 但我的客户
我是一名优秀的程序员,十分优秀!