【问题标题】:Disabling and greying out all the contents of a dojo grid禁用和灰显 dojo 网格的所有内容
【发布时间】:2011-07-04 07:31:11
【问题描述】:

好吧,我的应用程序要求我在单击按钮时禁用整个网格。

我尝试使用

var grid = dijit.byId('myGrid'); 网格 .set('禁用',true); ,但它不起作用。

我基本上需要将网格的所有内容都“变灰”,这样用户就无法选择任何行。因此,仅更改 CSS 对我没有帮助。

请回复。

谢谢, 索尼娅

【问题讨论】:

    标签: dojo


    【解决方案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 :)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多