好吧,我的应用程序要求我在点击按钮时禁用整个网格。
我尝试使用
var grid = dijit.byId('myGrid'); grid .set('disabled',true); ,但它不起作用。
我基本上需要'灰显'网格的所有内容,这样用户就无法选择任何行。因此,只是改变CSS并没有帮助我。
请回复。
谢谢, 索尼娅
答案 0 :(得分:1)
我实际上不知道,但我有一种相当可怕的方式自己做。当它被禁用时,我会在网格上创建一个部分透明的叠加层。
所以我将拥有这个CSS:
.gridOverlay {
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
z-index: 99;
display: none;
background: rgba(0,0,0,0.02);
}
.disabledGrid { color: #DDD; }
.disabledGrid .gridOverlay { display: block; }
我按钮的点击事件将是这样的:
dojo.connect(dojo.byId("btn"), "onclick", function()
{
//dojo.byId, not dijit.byId, to get the outer DOM node
var grid = dojo.byId("myGrid");
if(!dojo.query(".gridOverlay", grid).length)
{
dojo.create("div", {"class": "gridOverlay"}, grid);
}
dojo.toggleClass(grid, "disabledGrid");
});
就像我说的那样,可怕,但是对于我的使用它实际上就是这样做的。 YMMV:)