【问题标题】:How to copy cell content in dojo grid如何在道场网格中复制单元格内容
【发布时间】:2010-11-14 19:24:21
【问题描述】:

我有一个使用 dojo 数据网格显示数据的网页。有时,用户需要从某些单元格中复制内容以进行进一步分析,但是由于 dataGrid 中禁用了浏览器的右键单击事件,那么将内容复制到剪贴板的最佳方法是什么? 提前致谢!

大卫

【问题讨论】:

    标签: datagrid dojo copy grid


    【解决方案1】:

    创建网格时,可以将selectable 设置为true。

     <div dojotype="dojox.grid.DataGrid" selectable="true" ....>
    

    或以编程方式:

    var grid = new dojox.grid.DataGrid( { selectable: true, ... });
    

    【讨论】:

    • 我认为这是 dojo 1.3 及更高版本,但使用 dojo 1.2.2
    【解决方案2】:

    你不需要任何花哨的东西。我必须自己做,在查看了这么多过于复杂的解决方案后,我阅读了文档并找到了最简单的方法。网格是为了做到这一点,它只需要开发人员将菜单添加到增强网格。一个“陷阱”是网格构造函数必须包含一个 div ID。它不能使用 dijit.placeAt() 插入。

    解决方案:

    function someFunction(){
        var selRegionMenu = createSelectedRegionMenu(resultsGrid);
                        resultsGrid = new dojox.grid.EnhancedGrid({
                            id: "issueHistoryResultsGrid",
                            selectable: true,
                            plugins:{menus:{rowMenu:selRegionMenu, selectedRegionMenu:selRegionMenu}},
                            store: gridStore,
                            clientSort: true,
                            structure: gridLayout,
                            height: '450px'
                        }, "gridDiv");
    }
    
    function createSelectedRegionMenu(resultsGrid)
                {   
                    var selRegionMenu = new dijit.Menu({id:"selectedRegionMenu"});
                    selRegionMenu.addChild(new dijit.MenuItem({label:"Copy",  iconClass: "dijitEditorIcon dijitEditorIconCopy", onClick:copySelectedContent}));
                    selRegionMenu.startup();
                    return selRegionMenu;
                }
    
    
    
    function copySelectedContent(){
            var historyGrid = dijit.byId("issueHistoryResultsGrid");
            //var selected = historyGrid.selected;
            //var didSucceed = window.clipboardData.setData("Text",selected);
            CopiedTxt = document.selection.createRange();
    
            CopiedTxt.execCommand("Copy");
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2017-04-27
      相关资源
      最近更新 更多