extjs的displayfield组件如何获取grid中的某一列的值
grid中有数据显示,数据对应的字段,就比如说其中一个为A,现在点grid中某一行,想要在displayfield中调用这一行的字段A的值,并显示出来。有没有具体的做法...
grid中有数据显示,数据对应的字段,就比如说其中一个为A,现在点grid中某一行,想要在displayfield中调用这一行的字段A的值,并显示出来。有没有具体的做法
展开
展开全部
1.1:数据对应的列,加了一个点击事件,获取到该列的值,然后赋值
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2.如果有点击事件的话,你可以直接使用 var rows = grid.getSelectionModel().getSelection();获取store的数据模型(存放了所有的记录),rows[0]是指定行的记录(包括隐藏的字段),displayfield这个在grid外面创建好的,在grid可以引用到的话可以直接使用 displayfield.setValue(rows[0].get('A'));来赋值
3.
var display = Ext.create('Ext.form.field.Display',{
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
})
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{text : 'Company',
flex : 1,dataIndex: 'company',
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
return val;
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
display.setValue(rows[0].get('name'))
}
}
} ], dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [display]
}]
});
});
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2.如果有点击事件的话,你可以直接使用 var rows = grid.getSelectionModel().getSelection();获取store的数据模型(存放了所有的记录),rows[0]是指定行的记录(包括隐藏的字段),displayfield这个在grid外面创建好的,在grid可以引用到的话可以直接使用 displayfield.setValue(rows[0].get('A'));来赋值
3.
var display = Ext.create('Ext.form.field.Display',{
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
})
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{text : 'Company',
flex : 1,dataIndex: 'company',
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
return val;
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
display.setValue(rows[0].get('name'))
}
}
} ], dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [display]
}]
});
});
展开全部
1:数据对应的列,加了一个点击事件,获取到该列的值,然后赋值
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2:希望对你有帮助
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2:希望对你有帮助
更多追问追答
追问
grid中的这些列是用autocolumn从store中绑定出来的,而且对应的行有了点击事件,就是点击这一行后,这一行中的某一字段显示在grid外的displayfield中。那还需要再添加点击事件么?而且,这个字段是属于隐藏字段,就是不在生成后的grid界面上显示出来。最后,你的rows[0],是什么意思?
追答
如果有点击事件的话,你可以直接使用 var rows = grid.getSelectionModel().getSelection();获取store的数据模型(存放了所有的记录),rows[0]是指定行的记录(包括隐藏的字段),displayfield这个在grid外面创建好的,在grid可以引用到的话可以直接使用 displayfield.setValue(rows[0].get('A'));来赋值。。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询