on(grid, "onRowClick", function(e) {
if(disabledRows[rowIndex]) {
return;
}
// Do whatever pop up stuff you want and after
// a user selects the value, you can "disable"
// your row afterwards by adding it to the disabled
// list so that it can no longer be clicked on.
var rowIndex = e.rowIndex;
disabledRows[rowIndex] = true;
// This is just some random class I made up but
// you can use css to stylize the row however you want
var rowNode = e.rowNode;
domClass.add(rowNode, "disabled");
});
2条答案
按热度按时间uhry853o1#
好了,现在我有一点更多的信息,这里是一个解决方案:
在Grid小部件或其父代码中保留一个到目前为止禁用的所有行的列表,然后在onRowClick侦听器上编写如下代码:
注意,domClass就是我命名的“dojo/dom-class”。希望这能有所帮助!
q7solyqu2#
这也许并不完全是你所寻求的:
如果你想用你自己的过滤函数隐藏一行或多行,你可以在DOM中添加你自己的类来实现nodisplay。这里我向你展示了一个函数,它只显示那些在过滤列表中的可选字段/列中有值的行。
CSS:
例如,我可以通过以下调用只显示myState为3或4的条目:
型
注意,domClass就是我命名的“dojo/dom-class”