0

假设我有多个来源,我想要一个 dojo-grid 并用它们的数据填充。选择一个源后,我可以创建和填充网格。但是当谈到一次选择所有来源时,假设我选择了 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();
        }); 
4

1 回答 1

0
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 是您指定的网格

div1 和 div2 ---> 你的 div-id

plugins:
{indirectSelection: {headerSelector:true, width:"40px", styles:"text-align: center;"}}
--> 用于您的网格数据的复选框

像这样我们可以填充没有。使用道场的网格。

于 2013-02-06T07:24:42.740 回答