在extjs的grid 如何点击某一列的时候取得这一列的dataIndex的值

在extjs的grid 如何点击某一列的时候取得这一列的dataIndex的值,第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))

}

renderer : Function

(可选的)该函数用于加工单元格的原始数据,转换成为HTML并返回给Gr...

(可选的)该函数用于加工单元格的原始数据,转换成为HTML并返回给GridView进一步处理。请参阅setRenderer。如不指定,则对原始数据值进行默认地渲染。

内置参数为

value:将要像是单元格里的值,即dataIndex的值

cellmeta:单元格的相关属性,主要是id和CSS

record:这行的数据对象。通过record.data['id']方式得到其他列的值

rowIndex:行号

columnIndex:当前列的行号

store:构造表格时传递的ds,也就是说,表格里所有的数据都可以通过store获得。

{  

       {header: "单价",  

       dataIndex: "DANJIA",  

       //可以进行排序  

     } ,

      

       {header: "数量",  

       dataIndex: "shuliang",               

       } ,

    {   header: "金额",  

       dataIndex: "jine",  

       renderer:function(value,cellmeta,record,rowIndex,columnIndex,stroe){  

          return   record.data['DANJIA'] *    record.data['shuliang'] 

       }  

  

   }

把Ext Window 的html属性设置成你要显示的值:

注意:下面的代码是Ext 4.0 ,其他版本同理.......

Ext.create('Ext.window.Window', {

title: 'Hello',

height: 200,

width: 400,

html: '这里是你要显示的字符串'

}).show()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7433271.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存