在使用Extjs框架时,有时为了在信息列表中显示数据项的序号,这就要构造一些方法来显示序号,其方法有两种,具体如下:
1、方法一
对 Ext.grid.PageRowNumberer 进行扩展,详细代码下:
/* 显示序号 方法1 */
Ext.grid.PageRowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 50,
text: '序号',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
if (store.lastOptions.params != null) {
var pageindex = store.lastOptions.params.start;
return pageindex + rowIndex + 1;
} else {
return rowIndex + 1;
}
}
});
然后在创建 grid 控件时,在columns 属性中引用 :
// grid 中显示的各列
columns: [
new Ext.grid.PageRowNumberer(), // 获取序号,方法1
]
方法2: 直接在 columns 属性中使用 render 函数来构造
// grid 中显示的各列
columns: [{
text: '序号',
width: 50,
sortable: false,
renderer: function (value, metadata, record, rowIndex) {
return rowIndex + 1; // 获取序号,方法2
}
}
]