表格删除某行后行号不连续问题解决办法
发布时间:2020-12-15 04:44:19 所属栏目:百科 来源:网络整理
导读:ExtJS自带表格组件中的行号, ?new Ext.create('Ext.grid.RowNumberer',{'text':'行号',flex:1}), var tagGrid=Ext.create('Ext.grid.Panel',{ hidden:true,store:tagStore,viewConfig:{ columnsText: '列',sortAscText: '升序',sortDescText: '降序' },colu
|
ExtJS自带表格组件中的行号, ?new Ext.create('Ext.grid.RowNumberer',{'text':'行号',flex:1}),
var tagGrid=Ext.create('Ext.grid.Panel',{
hidden:true,store:tagStore,viewConfig:{
columnsText: '列',sortAscText: '升序',sortDescText: '降序'
},columns:[
new Ext.create('Ext.grid.RowNumberer',{header:'标签时间',dataIndex:'time',flex:3},{header:'标签内容',dataIndex:'tag',flex:5},{header:'标签对应起始页',dataIndex:'page',flex:2},{ flex:1,xtype:'actioncolumn',align:'center',items:[{
text:'edit',icon:'image/bianji.jpg',handler: function(grid,rowIndex,colIndex,item,e){
grid.getStore().removeAt(rowIndex);
grid.view.refresh();
}
}]
}]
});
在删除某一行或某几行后,行号会变得不连续。因为源码中的函数如下:
renderer: function(value,metaData,record,rowIdx,colIdx,store) {
if (this.rowspan){
metaData.cellAttr = 'rowspan="'+this.rowspan+'"';
}
metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
return store.indexOfTotal(record) + 1;
}
返回值是? store.indexOfTotal(record) + 1;? 所以即使删除了这一行,它的行号还是这条数据在整个store中的位置。 可以把这个返回值改成? return rowIdx + 1; 这样在删除某一行的代码后面添加一句刷新的代码就行了,如: xtype:'actioncolumn',e){
grid.getStore().removeAt(rowIndex);
grid.view.refresh();
}
}]
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
