【问题标题】:Creating multiple grids in dojo在 dojo 中创建多个网格
【发布时间】:2013-01-08 14:12:19
【问题描述】:

假设我有多个源,我想为其创建一个 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();
        }); 

【问题讨论】:

    标签: dojo dojox.grid.datagrid dojox.grid


    【解决方案1】:
    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

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

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

    【讨论】:

    • 在要显示 div 的 div 里面放这个 -
    • 我正在使用 Json , display1 和 display2 ,为此您必须为 json 创建结构,以便您可以将数据填充到网格中,
    • 感谢您的回复,但这就是我所做的一切......我真正想要的是我没有固定数量的网格。创建的网格数量应该是动态的,不应该受到限制只有两个网格..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 2011-10-13
    • 2011-08-29
    • 2014-10-15
    相关资源
    最近更新 更多