假设我有多个源,我想为它们创建一个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;"}}
-->用于网格数据