今天在导出EXT的二维时老是报错,追进去看是renderer : function(value)的参数不对,经过一番研究,未免以后遇到再次浪费时间,记录一下.
var cm = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer({ header: "", width: 20, align: ‘center‘ }), { header: ‘‘, align: ‘center‘, dataIndex: ‘AccountAndRoseID‘, width: 50, sortable: true, hidden: true }, { header: ‘‘, align: ‘center‘, dataIndex: ‘UserAccountId‘, width: 50, sortable: true, hidden: true }, { header: ‘帐号‘, align: ‘center‘, dataIndex: ‘UserAccountName‘, width: 200, sortable: true }, { header: ‘角色名‘, align: ‘center‘, dataIndex: ‘UserRoleName‘, width: 200, sortable: true }, { header: ‘状态‘, align: ‘center‘, dataIndex: ‘UserAccountStateId‘, width: 200, sortable: true, hidden: true, renderer: function() } ]
renderer可以格式化该列显示的数据格式或者按照你自定义的脚本显示最终数据样子(我目前是这么理解的) 先看下renderer: function()里的参数
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){
} 1.value是当前单元格的值 2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。 3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。 4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。 5.columnIndex列号太简单了。 6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。