在extjs的grid 如何点击某一列的时候取得这一列的dataIndex的值
{header:"姓名",dataIndex:‘name’,renderer:show}我现在就想在点击姓名这一列的时候就取这个"name"不是要取这个单元格的值这个事件...
{header:"姓名",dataIndex:‘name’,renderer:show}
我现在就想在点击姓名这一列的时候就取这个"name"不是要取这个单元格的值
这个事件貌似是extjs4里面才有吧,我的是2.1版本的,其实是这样的本来就使用了renderer这个函数在里面return"<a href="javascript:openNewWindow(‘"+url+"’,'','500')"+value+"</a>"; 我现在想要在这个里面在来取得dataindex,本来在Ext.grid.ColumnModel 中有getDataIndex( Number col )这个方法的,但是我的是动态取得这个columnModel的,一旦在页面中定义了就报错,所以我想有没有其他的通过gridpanel能够取到的,我页面中 column的定义是这样的 var column=Ext,util.JSON.decode("["+colModel+"]"); 这个colmodel是我在后台拼好了传到前台来的,我之前以为可以Ext.grid.ColumnModel(Ext,util.JSON.decode("["+colModel+"]"));这样使用还是报错 展开
我现在就想在点击姓名这一列的时候就取这个"name"不是要取这个单元格的值
这个事件貌似是extjs4里面才有吧,我的是2.1版本的,其实是这样的本来就使用了renderer这个函数在里面return"<a href="javascript:openNewWindow(‘"+url+"’,'','500')"+value+"</a>"; 我现在想要在这个里面在来取得dataindex,本来在Ext.grid.ColumnModel 中有getDataIndex( Number col )这个方法的,但是我的是动态取得这个columnModel的,一旦在页面中定义了就报错,所以我想有没有其他的通过gridpanel能够取到的,我页面中 column的定义是这样的 var column=Ext,util.JSON.decode("["+colModel+"]"); 这个colmodel是我在后台拼好了传到前台来的,我之前以为可以Ext.grid.ColumnModel(Ext,util.JSON.decode("["+colModel+"]"));这样使用还是报错 展开
1个回答
展开全部
方法一、给Grid绑定以下事件:
headerclick : ( Grid this, Number columnIndex, Ext.EventObject e )
事件响应代码里面读取dataIndex:
var fieldName = this.getColumnModel().getDataIndex(columnIndex);
这就是你要的数据列名。
说明:
Grid的headerclick事件虽然每个版本的Docs分别说:
Available since: Ext JS 4.2.0
Available since: Ext JS 2.3.0
可是它确实在Ext2.1/docs/output/Ext.grid.GridPanel.html里就有的。
针对问题补充:
在你的show函数里如果可以访问到var column=Ext,util.JSON.decode这个变量,那可以尝试:
function show(value,metadata,record,rowIndex,colIndex,store){
alert(column.getDataIndex(colIndex));
}
headerclick : ( Grid this, Number columnIndex, Ext.EventObject e )
事件响应代码里面读取dataIndex:
var fieldName = this.getColumnModel().getDataIndex(columnIndex);
这就是你要的数据列名。
说明:
Grid的headerclick事件虽然每个版本的Docs分别说:
Available since: Ext JS 4.2.0
Available since: Ext JS 2.3.0
可是它确实在Ext2.1/docs/output/Ext.grid.GridPanel.html里就有的。
针对问题补充:
在你的show函数里如果可以访问到var column=Ext,util.JSON.decode这个变量,那可以尝试:
function show(value,metadata,record,rowIndex,colIndex,store){
alert(column.getDataIndex(colIndex));
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询