在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+"]"));这样使用还是报错
展开
 我来答
百度网友13eda02
2014-12-23 · TA获得超过778个赞
知道小有建树答主
回答量:1048
采纳率:77%
帮助的人:368万
展开全部
方法一、给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));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式