【发布时间】:2011-07-04 07:31:11
【问题描述】:
好吧,我的应用程序要求我在单击按钮时禁用整个网格。
我尝试使用
var grid = dijit.byId('myGrid'); 网格 .set('禁用',true); ,但它不起作用。
我基本上需要将网格的所有内容都“变灰”,这样用户就无法选择任何行。因此,仅更改 CSS 对我没有帮助。
请回复。
谢谢, 索尼娅
【问题讨论】:
标签: dojo
好吧,我的应用程序要求我在单击按钮时禁用整个网格。
我尝试使用
var grid = dijit.byId('myGrid'); 网格 .set('禁用',true); ,但它不起作用。
我基本上需要将网格的所有内容都“变灰”,这样用户就无法选择任何行。因此,仅更改 CSS 对我没有帮助。
请回复。
谢谢, 索尼娅
【问题讨论】:
标签: dojo
我实际上不知道,但我自己有一个相当可怕的方法。当它被禁用时,我在网格上创建一个部分透明的覆盖。
所以我会有这个 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 :)
【讨论】: