【问题标题】:Dojo DataGrid loading selected itemsDojo DataGrid 加载所选项目
【发布时间】:2010-11-22 10:17:31
【问题描述】:

我有一个 DataGrid,希望用户选择多个项目并单击一个按钮来对这些项目执行某些操作(例如删除)。当只选择了几个项目时,删除是有效的,但如果用户选择了所有项目而没有在它们上面缓慢滚动,则某些选定的项目为空。

我也尝试了 grid.removeSelectedRows(),但这也不适用于未加载的项目。

我也尝试过先获取:

grid.store.fetch({count:grid.rowCount,onComplete:dojo.hitch(this,function(){ var items = grid.selection.getSelected(); grid.selection.clear(); 如果(项目长度){ dojo.forEach(items, function(selectedItem) { if (selectedItem !== null) { grid.store.deleteItem(selectedItem); //或者做其他事情 } }); } 网格.sort(); })});

即使进行了提取,仍然有 null 项,并且只有最顶部和最底部的行实际被删除。

有没有办法在网格中加载选定的项目?

【问题讨论】:

    标签: datagrid dojo


    【解决方案1】:

    我的任务是将选择的第一项值“扩展”到选择的其余部分。我遇到了和你类似的问题,但终于找到了解决方案:

    updateSelected = function() {
    
    //Callback for processing a returned list of items.
    function gotSelected(items, request) {
        var selectedIndex = paramGrid.selection.selected;
        console.debug(selectedIndex);
        var firstItem;
        var counter = 0;
        for (var i=0;i<selectedIndex.length;i++){
            if(selectedIndex[i]){
                var item = items[i];
                if (counter < 1){
                    firstItem = item;
                    counter ++;
                }else{                                                          
                    paramStore.setValue(item, "valueSPO", firstItem.valueSPO);
                    paramStore.setValue(item, "valueSPI", firstItem.valueSPI);
                    paramStore.setValue(item, "valueSM", firstItem.valueSM);
                    paramStore.setValue(item, "state", firstItem.state);
                }
            }
        }        
    }
    
    function fetchFailed(error, request) {
        console.log("lookup failed.");
        console.log(error);
    }
    
    paramStore.fetch({
        query: {id: '*'},
        onComplete: gotSelected,
        onError: fetchFailed,
    });
    

    }

    在此之后,您必须将此函数连接到 addOnLoad 中的按钮:

    dojo.connect(button2, "onClick", updateSelected);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      相关资源
      最近更新 更多