Ext.onReady(function() { var dat=[['2012年8月11日','200'], ['2012年8月12日','300'], ['2012年8月16日','122']]; var store=new Ext.data.SimpleStore({data:dat, fields:["num","shuju"]}); var data=[['1','育新小区'],['2','富力桃园']]; var data2= new Array(); data2[0] = [['1','1号楼'],['2','2号楼']]; data2[1] = [['3','3号楼'],['4','4号楼']]; var store1=new Ext.data.SimpleStore({ data:data,fields:['id','city']}); listeners:{ select:function(record,index){ loadData(data2[record.data.id]);}}; var store2=new Ext.data.SimpleStore({ data:data2[record.data.id], fields:['wuzi','jiahao']}); var grid=new Ext.grid.GridPanel({ renderTo:Ext.getBody(), height:200,width:370, tbar: [{xtype:'combo',valueField:'id', displayField:'city',store:store1}, {xtype:'combo',valueField:'wuzi', displayField:'jiahao',store:store2}], columns:[{header:"日期",flex:1, dataIndex:"num"}, {header:"数据",flex:1, dataIndex:"shuju"}], store:store}); });
不知道思路上有没有问题,如果没问题那代码需要修改哪里才能运行呢?现在是什么都显示不出来,求高手们啊
[code="java"] <br> Ext.onReady(function() {<br><br> var dat=[['2012年8月11日','200'],<br><br> ['2012年8月12日','300'],<br><br> ['2012年8月16日','122']];<br><br> var store=new Ext.data.SimpleStore({data:dat, fields:["num","shuju"]});<br><br> //<br><br> var data=[['1','育新小区'],['2','富力桃园']];<br><br> var data2= new Array();<br><br> data2[0] = [['1','1号楼'],['2','2号楼']];<br><br> data2[1] = [['3','3号楼'],['4','4号楼']];<br><br> var store1=new Ext.data.SimpleStore({data:data,fields:['id','city']});<br><br> var store2=new Ext.data.SimpleStore({<br><br> data:[],<br><br> fields:['wuzi','jiahao']});<br><br> var grid=new Ext.grid.GridPanel({<br><br> renderTo:Ext.getBody(),<br><br> height:200,width:370,<br><br> tbar: [{<br> xtype:'combo',<br> mode:'local',//mode设置为local,这样comobox才能知道数据已经加载到本地<br> triggerAction:'all',//默认为'query',会出现autocomplete现象<br> valueField:'id', <br> displayField:'city',<br> store:store1,<br> listeners:{<br> 'select' : function(cb){<br> var selectedId = cb.getValue();<br> store2.loadData(data2[selectedId-1]);<br> }<br> }<br> },<br><br> {xtype:'combo',<br> mode:'local',<br> triggerAction:'all',<br> valueField:'wuzi', <br> displayField:'jiahao',<br> store:store2<br> }],<br><br> columns:[{header:"日期",flex:1, dataIndex:"num"},<br><br> {header:"数据",flex:1, dataIndex:"shuju"}], store:store});<br><br> }); <br> [/code]
这样就可以了,其中
mode:'local',//mode设置为local,这样comobox才能知道数据已经加载到本地
triggerAction:'all',//默认为'query',会出现autocomplete现象
这两个参数的设置要注意些,不然页面不出来数据的
对于级联的实现就是: [b]store.loadData(..)[/b] 即可
listeners:{
select:function(record,index){loadData(data2[record.data.id]);}};
你这段代码怎么孤单单的,有错误!!
loadData之前先获取子Combo的Component,然后用子Component调用loadData方法或getStore之后在调用loadData方法