加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

表格删除某行后行号不连续问题解决办法

发布时间: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();
					}	
		                 }]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读