[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 = '../../extjs2.0/resources/images/default/s.gif';<br>
var sm1= new Ext.grid.CheckboxSelectionModel(<br>
[color=blue]/*<br>
listeners:{<br><br>
'rowselect':function(sm,rowIndex,record){<br><br>
Ext.getCmp('grid2').getStore().add(record);<br><br>
},<br><br>
'rowdeselect':function(sm,rowIndex,record){<br><br>
Ext.getCmp('grid2').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:'通过布局嵌套实现表单横排',<br>
labelSeparator :':',//分隔符<br>
labelWidth : 50,//标签宽度<br>
bodyStyle:'padding:5 5 5 5',//表单边距<br>
frame : false,<br>
height:600,<br>
width:600,<br>
applyTo :'form',<br>
items:[<br>
{<br>
xtype : 'panel',<br>
layout : 'column',//嵌套列布局<br>
border : false,//不显示边框<br>
height:150,<br>
defaults : {//应用到每一个子元素上的配置<br>
border : false,//不显示边框<br>
layout : 'form',//在列布局中嵌套form布局<br>
columnWidth : .9//列宽<br>
},<br>
items : [<br>
{<br>
labelSeparator :':',//分隔符<br>
items : {<br>
xtype : 'grid',<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: '序号', dataIndex: 'id', sortable: true },<br><br>
{header: '名字', dataIndex: 'name', sortable: true},<br><br>
{header: '描述', dataIndex: 'descript', sortable: true}<br><br>
],<br><br>
store:new Ext.data.SimpleStore({<br><br>
fields:['id','name','descript'],<br><br>
data:[<br><br>
[1,'name001','this is name001'],<br><br>
[2,'name002','this is name002'],<br><br>
[3,'name003','this is name003'],<br><br>
[4,'name004','this is name004']<br><br>
]<br><br>
})<br><br>
}<br>
}<br>
]<br>
},</p>
<pre><code> {
xtype : 'panel',
layout : 'column',//嵌套列布局
border : false,//不显示边框
defaults : {//应用到每一个子元素上的配置
border : false,//不显示边框
layout : 'form',//在列布局中嵌套form布局
columnWidth : .5//列宽
},
items : [
{
labelSeparator :':',//分隔符
items : {
xtype : 'textfield',
fieldLabel:'性别',
anchor:'85%'
}
},
{
items : {
xtype : 'button',
text:'确定'
}
}
]
},
{
xtype : 'panel',
layout : 'column',//嵌套列布局
border : false,//不显示边框
defaults : {//应用到每一个子元素上的配置
border : false,//不显示边框
layout : 'form'//在列布局中嵌套form布局
},
items : [
{
labelSeparator :':',//分隔符
columnWidth :.7,
items : {
xtype : 'grid',
width: 400,
height: 140,
id:'grid2',
autoScroll: true,
trackMouseOver:false,
sm:sm2,
columns: [
sm2,
{header: '序号', dataIndex: 'id', sortable: true },
{header: '名字', dataIndex: 'name', sortable: true},
{header: '描述', dataIndex: 'descript', sortable: true}
],
store:new Ext.data.SimpleStore({
fields:['id','name','descript']
})
}
},
{
columnWidth :.3,
items : [{
xtype : 'button',
text:'查询',
handler : function(){}
},
{ xtype : 'button',
text:'删除'
}
]
}
]
}
]
})
});
</code></pre>
<p>
[b]问题补充:[/b]
[quote]你是不是要在上面选几个课题组,然后把属于这个课题组的人员在下面的grid中选中?
[/quote]
呵呵,其实第二个表格开始是空表,第一个表格选中的加进去就好了。现在那个sm1里面的配置加上后运行不出来,去掉就可以,我也想直接用grid2.getStore().add(record); 不过我用的xtype,这种方式用不了,不知道怎样调用grid2,用Ext.getCmp('grid2').getStore().add(record); 有问题吗?