跪求EXT 高手解答问题
Ext中。grid用来展示数据下面是部分代码this.dataStore=Ext.create('Ext.data.Store',{//分页大小(默认20)pageSiz...
Ext中。grid 用来展示数据 下面是部分代码
this.dataStore = Ext.create('Ext.data.Store', {
//分页大小 (默认20)
pageSize: PAGESIZE,
id: 'dataStore',
model: 'ForumThread',
//是否在服务端排序
//remoteSort: true,
proxy: {
type: 'ajax',
url: APPNAME + '/business/infomation/stpLogList.action',
reader: {
type: 'json',
root: 'datas',
totalProperty: 'totalCount',
successProperty: 'success'
}
},
autoLoad: true
});
this.grid = Ext.create('Ext.grid.Panel', {
listeners : {'celldblclick' : function(){
alert(columns);
}},
store: this.dataStore,
header: false,
title: null,
stateful: false,
stateId: 'stateGrid',
region : 'center',
autoScroll:true,
columnLines:true,
loadMask: true,
stripeRows: true,
columns: [
{xtype: 'rownumberer', width: 40, sortable: false, header:'', align:'center'},
{
text : '消息编码',
titleAlign:'center',
width : 260,
sortable : true,
dataIndex: 'msgCode'
},
{
text : '发起系统',
titleAlign:'center',
width : 180,
sortable : true,
dataIndex: 'charterMember'
},
{
text : '发起时间',
titleAlign:'center',
width : 200,
sortable : true,
dataIndex: 'charterTime'
},
{
text : '错误信息',
titleAlign:'center',
width : 150,
sortable : true,
dataIndex: 'errorInfo'
},
{
text : '标记',
titleAlign:'center',
width : 100,
sortable : true,
dataIndex: 'flag',
renderer: this.Flag
}
],
bbar: Ext.create('Ext.PagingToolbar', {
pageSize:PAGESIZE,
firstText:"首页",
prevText:"上一页",
lastText:"尾页",
nextText:"下一页",
beforePageText:"当前",
refreshText:"刷新",
afterPageText:"页,共[{0}]页",
displayMsg: '显示第[{0} - {1}]条记录,共[{2}]条记录',
store: this.dataStore,
displayInfo: true,
emptyMsg: '当前没有记录显示'
})
});
Ext.apply(this, {
autoScroll:true,
layout: 'border',
items: [this.grid]
});
this.callParent(arguments);
},
要取得 双击某一列 展示单元格中的数据 跪求。。。。 展开
this.dataStore = Ext.create('Ext.data.Store', {
//分页大小 (默认20)
pageSize: PAGESIZE,
id: 'dataStore',
model: 'ForumThread',
//是否在服务端排序
//remoteSort: true,
proxy: {
type: 'ajax',
url: APPNAME + '/business/infomation/stpLogList.action',
reader: {
type: 'json',
root: 'datas',
totalProperty: 'totalCount',
successProperty: 'success'
}
},
autoLoad: true
});
this.grid = Ext.create('Ext.grid.Panel', {
listeners : {'celldblclick' : function(){
alert(columns);
}},
store: this.dataStore,
header: false,
title: null,
stateful: false,
stateId: 'stateGrid',
region : 'center',
autoScroll:true,
columnLines:true,
loadMask: true,
stripeRows: true,
columns: [
{xtype: 'rownumberer', width: 40, sortable: false, header:'', align:'center'},
{
text : '消息编码',
titleAlign:'center',
width : 260,
sortable : true,
dataIndex: 'msgCode'
},
{
text : '发起系统',
titleAlign:'center',
width : 180,
sortable : true,
dataIndex: 'charterMember'
},
{
text : '发起时间',
titleAlign:'center',
width : 200,
sortable : true,
dataIndex: 'charterTime'
},
{
text : '错误信息',
titleAlign:'center',
width : 150,
sortable : true,
dataIndex: 'errorInfo'
},
{
text : '标记',
titleAlign:'center',
width : 100,
sortable : true,
dataIndex: 'flag',
renderer: this.Flag
}
],
bbar: Ext.create('Ext.PagingToolbar', {
pageSize:PAGESIZE,
firstText:"首页",
prevText:"上一页",
lastText:"尾页",
nextText:"下一页",
beforePageText:"当前",
refreshText:"刷新",
afterPageText:"页,共[{0}]页",
displayMsg: '显示第[{0} - {1}]条记录,共[{2}]条记录',
store: this.dataStore,
displayInfo: true,
emptyMsg: '当前没有记录显示'
})
});
Ext.apply(this, {
autoScroll:true,
layout: 'border',
items: [this.grid]
});
this.callParent(arguments);
},
要取得 双击某一列 展示单元格中的数据 跪求。。。。 展开
展开全部
Grid的数据源是store,我们有时需要做点击某一个项而触发一定的事件,在这个处理过程中,
我们不免需要得到点击的那个项,如何获得相应的数据呢? 首先,来看看怎么写触发事件。
假设变量_grid就是一个GridPanel的句柄(或者说引用),我们要对实现双击GridPanel中的
某一项时触发一个event。那么我们只需要 _
grid.addListener('celldblclick',function(grid, rowIndex, columnIndex, e)
{
//Todo Something here
});
function中的4个参数的含义,我们来参看下文档。
celldblclick : ( Grid this, Number rowIndex, Number columnIndex, Ext.EventObject e )
Fires when a cell is double clicked (如果你希望是单击,可以把celldblclick换成cellclick)
我们已经可以得到点击的那个项所对应的列索引和行索引,接下来要做的就是靠这两个重要
的索引去帮助找出你想要的数据。我们假设,
记录(Record)的field为['pid','name','gender','birthday'].
那么我们先获得Store,使用GridPanel的getStore()方法。
方法原型是:getStore() : DataSource ,这里的DataSource其实就是Ext.data.Store.
然后我们使用getAt( Number index ) : Ext.data.Record方法去得到点击触发事件的那个记录(Record),
得到了Record后怎么办呢?注意哦,这里的Record的用法并不是像Json那样直接用属性去取值的。
而是需要使用方法get( String name ) : Object 这时,虽然返回的是Object,其实就已经是String了,
可以直接alert或者做其他的处理。 _
grid.addListener('celldblclick',function(grid, rowIndex, columnIndex, e){
var s=grid.getStore();
var x=s.getAt(rowIndex);
alert(x.get('pid'));
});
我们不免需要得到点击的那个项,如何获得相应的数据呢? 首先,来看看怎么写触发事件。
假设变量_grid就是一个GridPanel的句柄(或者说引用),我们要对实现双击GridPanel中的
某一项时触发一个event。那么我们只需要 _
grid.addListener('celldblclick',function(grid, rowIndex, columnIndex, e)
{
//Todo Something here
});
function中的4个参数的含义,我们来参看下文档。
celldblclick : ( Grid this, Number rowIndex, Number columnIndex, Ext.EventObject e )
Fires when a cell is double clicked (如果你希望是单击,可以把celldblclick换成cellclick)
我们已经可以得到点击的那个项所对应的列索引和行索引,接下来要做的就是靠这两个重要
的索引去帮助找出你想要的数据。我们假设,
记录(Record)的field为['pid','name','gender','birthday'].
那么我们先获得Store,使用GridPanel的getStore()方法。
方法原型是:getStore() : DataSource ,这里的DataSource其实就是Ext.data.Store.
然后我们使用getAt( Number index ) : Ext.data.Record方法去得到点击触发事件的那个记录(Record),
得到了Record后怎么办呢?注意哦,这里的Record的用法并不是像Json那样直接用属性去取值的。
而是需要使用方法get( String name ) : Object 这时,虽然返回的是Object,其实就已经是String了,
可以直接alert或者做其他的处理。 _
grid.addListener('celldblclick',function(grid, rowIndex, columnIndex, e){
var s=grid.getStore();
var x=s.getAt(rowIndex);
alert(x.get('pid'));
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询