【问题标题】:Dojo - Leave/Dismiss FilteringSelect in DGrid on EnterDojo - Enter 时在 DGrid 中离开/关闭 FilteringSelect
【发布时间】:2017-06-22 17:24:53
【问题描述】:

我有一个使用 Dojo/DGrid 构建表格的网站。

网格的某些列使用editor: dijit/form/FilteringSelect 作为编辑器,效果很好。当用户点击返回键时,该值被接受并且编辑器关闭。

同一个网格的其他列有一个自定义的renderCell,因为每一行的存储url都不一样:

function myCustomRenderCell(object, item, node) {
    node.innerHTML = '<div class="myClass"></div>';
    var filteringSelect = new FilteringSelect({
        label: 'myLabel',
        name: 'myName',
        displayedValue: item.myValue,
        store: new DstoreAdapter (
            new RestMemoryStore ({
                idProperty: 'id',
                target: 'myUrlToJsonData',
            })
        ),
        onChange: function(newValue) {
            var rowData = filteringSelect.store.get(newValue);
            var gridCell = this.domNode.offsetParent;
            var dataCell = grid.cell(gridCell);
            rowData.then(function(row){
                var eventObject = {
                    grid: this,
                    cell: dataCell,
                    oldValue: "",
                    value: row.name,
                    bubbles: true,
                    cancelable: true
                };
                on.emit(dataCell.element, 'dgrid-datachange', eventObject);
                grid.updateDirty(dataCell.row.id, 'myLabel', row.name);
            });
        }
    }, node.children[0]);
    filteringSelect._destroyOnRemove = true;
    filteringSelect.startup();
}

与开头提到的默认 FilteringSelect 不同,当使用按返回键时,此选项不会留下。该值已正确处理。但是除了按 Tab 键将光标放在下一个自定义编辑器中或使用鼠标之外,没有办法离开这个编辑器。

任何想法如何设置此自定义构建 FilteringSelect 以在返回时关闭,就像网格中的默认编辑器一样?

【问题讨论】:

  • 看看能不能把焦点移到自定义的
  • 谢谢,现在可以了。
  • 抱歉,回滚。我尝试了下面的代码。只要我在调试器中单击它就可以工作,但如果没有我单击它就不会。

标签: javascript dojo dgrid dijit.form


【解决方案1】:

尝试:为按键添加事件处理程序:

onKeyPress: function(event){
    if (event.charOrCode == keys.ENTER) {
        filteringSelect.set("focused", false);
    }
}

感谢 Manjunatha 提供的有用提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    相关资源
    最近更新 更多