如何从一个gridpanel获取数据在另一个gridpanel显示?

[size=xx-small][/size]想问一下,怎样让下面的表格只显示上面表格选中的2行
[b]问题补充:[/b]
我的问题是,是否可以通过var records = grid1.getSelections();记录选中的行信息,然后把这个records数据传递给grid2里面的[align=left][/align]store里面的[align=left][/align]data,这里我不知道怎么处理或者有其他方法吗?
[b]问题补充:[/b]
[img][/img]
[b]问题补充:[/b]
[color=darkred][/color][color=darkred][/color]
var rowSelect =grid1.getSelectionModel().getSelections();//返回数组
rowSelect[0] rowSelect[1] //返回Record
我能在grid1里直接调用grid2里的store吗?

grid2.store.add( rowSelect[0] );
grid2.store.add( rowSelect[1] );

还是
grid2.getStore.add( rowSelect[0]);
grid2.getStore.add( rowSelect[1]);

能不能具体一点,直接能用的,这一块语法我有些晕乎。
[b]问题补充:[/b]
是上面的过滤到下面
[b]问题补充:[/b]
非常感谢大家的帮忙。atian25 给的例子的效果是我想要的。我是要实现组件横排。grid2只能用id返回吧。照着那个例子改了下,现在问题是配置sm1时,运行出错,不知怎么回事?效果如图
[code="java"][/code]


通过布局嵌套实现表单横排




<br> Ext.onReady(function(){<br> Ext.BLANK_IMAGE_URL = &#39;../../extjs2.0/resources/images/default/s.gif&#39;;<br> var sm1= new Ext.grid.CheckboxSelectionModel(<br> [color=blue]/*<br> listeners:{<br><br> &#39;rowselect&#39;:function(sm,rowIndex,record){<br><br> Ext.getCmp(&#39;grid2&#39;).getStore().add(record);<br><br> },<br><br> &#39;rowdeselect&#39;:function(sm,rowIndex,record){<br><br> Ext.getCmp(&#39;grid2&#39;).getStore().remove(record);<br><br> }<br><br> }<br><br> */[/color]<br> );<br> var sm2 = new Ext.grid.CheckboxSelectionModel();<br><br> var form = new Ext.form.FormPanel({<br> title:&#39;通过布局嵌套实现表单横排&#39;,<br> labelSeparator :&#39;:&#39;,//分隔符<br> labelWidth : 50,//标签宽度<br> bodyStyle:&#39;padding:5 5 5 5&#39;,//表单边距<br> frame : false,<br> height:600,<br> width:600,<br> applyTo :&#39;form&#39;,<br> items:[<br> {<br> xtype : &#39;panel&#39;,<br> layout : &#39;column&#39;,//嵌套列布局<br> border : false,//不显示边框<br> height:150,<br> defaults : {//应用到每一个子元素上的配置<br> border : false,//不显示边框<br> layout : &#39;form&#39;,//在列布局中嵌套form布局<br> columnWidth : .9//列宽<br> },<br> items : [<br> {<br> labelSeparator :&#39;:&#39;,//分隔符<br> items : {<br> xtype : &#39;grid&#39;,<br> width: 400,<br><br> height: 140,<br><br> autoScroll: true,<br><br> trackMouseOver:false,<br><br> sm:sm1,<br><br> columns: [<br><br> sm1,<br><br> {header: &#39;序号&#39;, dataIndex: &#39;id&#39;, sortable: true },<br><br> {header: &#39;名字&#39;, dataIndex: &#39;name&#39;, sortable: true},<br><br> {header: &#39;描述&#39;, dataIndex: &#39;descript&#39;, sortable: true}<br><br> ],<br><br> store:new Ext.data.SimpleStore({<br><br> fields:[&#39;id&#39;,&#39;name&#39;,&#39;descript&#39;],<br><br> data:[<br><br> [1,&#39;name001&#39;,&#39;this is name001&#39;],<br><br> [2,&#39;name002&#39;,&#39;this is name002&#39;],<br><br> [3,&#39;name003&#39;,&#39;this is name003&#39;],<br><br> [4,&#39;name004&#39;,&#39;this is name004&#39;]<br><br> ]<br><br> })<br><br> }<br> }<br> ]<br> },</p> <pre><code> { xtype : &#39;panel&#39;, layout : &#39;column&#39;,//嵌套列布局 border : false,//不显示边框 defaults : {//应用到每一个子元素上的配置 border : false,//不显示边框 layout : &#39;form&#39;,//在列布局中嵌套form布局 columnWidth : .5//列宽 }, items : [ { labelSeparator :&#39;:&#39;,//分隔符 items : { xtype : &#39;textfield&#39;, fieldLabel:&#39;性别&#39;, anchor:&#39;85%&#39; } }, { items : { xtype : &#39;button&#39;, text:&#39;确定&#39; } } ] }, { xtype : &#39;panel&#39;, layout : &#39;column&#39;,//嵌套列布局 border : false,//不显示边框 defaults : {//应用到每一个子元素上的配置 border : false,//不显示边框 layout : &#39;form&#39;//在列布局中嵌套form布局 }, items : [ { labelSeparator :&#39;:&#39;,//分隔符 columnWidth :.7, items : { xtype : &#39;grid&#39;, width: 400, height: 140, id:&#39;grid2&#39;, autoScroll: true, trackMouseOver:false, sm:sm2, columns: [ sm2, {header: &#39;序号&#39;, dataIndex: &#39;id&#39;, sortable: true }, {header: &#39;名字&#39;, dataIndex: &#39;name&#39;, sortable: true}, {header: &#39;描述&#39;, dataIndex: &#39;descript&#39;, sortable: true} ], store:new Ext.data.SimpleStore({ fields:[&#39;id&#39;,&#39;name&#39;,&#39;descript&#39;] }) } }, { columnWidth :.3, items : [{ xtype : &#39;button&#39;, text:&#39;查询&#39;, handler : function(){} }, { xtype : &#39;button&#39;, text:&#39;删除&#39; } ] } ] } ] }) }); </code></pre> <p>





 


[b]问题补充:[/b]
[quote]你是不是要在上面选几个课题组,然后把属于这个课题组的人员在下面的grid中选中?
[/quote]
呵呵,其实第二个表格开始是空表,第一个表格选中的加进去就好了。现在那个sm1里面的配置加上后运行不出来,去掉就可以,我也想直接用grid2.getStore().add(record); 不过我用的xtype,这种方式用不了,不知道怎样调用grid2,用Ext.getCmp('grid2').getStore().add(record); 有问题吗?

查看全部
wbr2005
wbr2005
2009/07/20 10:19
  • ext
  • javascript
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

0个回复