在dojo中创建多个网格



假设我有多个源,我想为它们创建一个dojo网格,并用它们的数据填充它们。选择一个源后,我就可以创建和填充网格了。但是当谈到一次选择所有来源时假设我选择了3个。所以,我必须在同一个页面上创建3个网格,而不是一个。我想我必须使用循环,这样我就可以创建和源一样多的网格。

但我无法编写创建多个dojo jata网格的代码。请给出一些建议或建议一些代码示例。

对于单个网格,我有这样的代码:
     require(['dojox/grid/DataGrid', 'dojo/data/ItemFileReadStore', 'dojo/date/stamp',      'dojo/date/locale', 'dojo/domReady!'],
          function(DataGrid, ItemFileReadStore){
            var layout = [
                {name:'srcrecno',field:'srcrecno',width:20},
                {name: 'Score', field: 'Score', width:20},
                {name: 'Members', field: 'Members', width:20},
                {name:'Entities', field:'Entities',width:20}
                ];
            var store = new ItemFileReadStore({
                data: {
                    items:<%=fa.jsonstring()%>
                }
            });
            var grid = DataGrid({
                id: 'grid',
                store: store,
                structure: layout,
            });
            grid.placeAt('gridDiv');
            grid.startup();
        }); 
var data1 =  {
        items : <brp:json value="${display1}"/>,
        identifier : "id"
    };
 var store = new dojo.data.ItemFileReadStore({
    data : data1
}); 
        var layout = [ {
            field : 'id',
            name : 'Column1',
            width : '150px'
        },{
            field : 'Column2',
            name : 'Column2',
            width : '200px'
            },{
            field : 'Column3',
            name : 'Column3',
            width : '490px'
        } ];
        var grid = new dojox.grid.EnhancedGrid({
            id : 'grid',
             query : {
                id : '*'
            }, 
            store : store, 
            clientSort : false,
            rowSelector : '20px',
            plugins: {indirectSelection: {headerSelector:true, width:"40px", styles:"text-align: center;"}},
            height : "380px",   
            structure : layout,
        }, document.createElement('div'));
        dojo.byId("div1").appendChild(grid.domNode);

         var data2 =  {
                items : <brp:json value="${display1}"/>,
                identifier : "id"
            };
         var store2 = new dojo.data.ItemFileReadStore({
            data : data2
        });  
        var Structure2 = [ {
            field : 'id',
            name : 'Column1',
            width : '150px'
        },{
            field : 'Column2',
            name : 'Column2',
            width : '200px'
            },{
            field : 'Column3',
            name : 'Column3',
            width : '490px'
        } ];
        var grid2 = new dojox.grid.EnhancedGrid({
             id : 'grid2',
             query : {
             id : '*' 
            }, 
            store : store2,
            clientSort : false,
            rowSelector : '20px',
            plugins: {indirectSelection: {headerSelector:true, width:"40px", styles:"text-align: center;"}},
            height : "380px",   
            structure : Structure2,
        }, document.createElement('div'));
        dojo.byId("div2").appendChild(grid2.domNode); 
        grid.startup();
        grid2.startup();

你还得再做一件事在div内,您希望以高度

显示div放置——

笔记grid.startup(); -->表示div的开始其中grid为指定的网格

div-id


插件:{indirectSelection: {headerSelector:true, width:"40px", styles:"text-align: center;"}}
-->用于网格数据

的复选框像这样,我们可以填充no。

相关内容

  • 没有找到相关文章

最新更新