Extjs之RowNumberer

Ext.grid.RowNumberer,Ext.grid.PageRowNumberer服務器

在一個數據表格中,通常都會加一個行號,在ExtJs中,要實現行號這一效果,只須要一句代碼:spa

 new Ext.grid.RowNumberer()

舉個例子,代碼以下:code

var colModel = new Ext.grid.ColumnModel
                (
                    [
                         new Ext.grid.RowNumberer(),
                         { header: "擦寫機器號", width: 100, dataIndex: 'JSON_no_machine' },
                         { header: "寫入服務器時間", width: 150, dataIndex: 'JSON_time_insert' },
                         { header: "現居住地址", width: 250, dataIndex: 'JSON_xjzdz' },
                         { header: "服務處所", width: 100, dataIndex: 'JSON_fwcs' },
                         { header: "擦寫日期", width: 150, dataIndex: 'JSON_cxrq' },
                         { header: "擦寫單位", width: 150, dataIndex: 'JSON_cxdwmc' },
                         { header: "姓名", width: 50, dataIndex: 'JSON_xm' },
                         { header: "身份證號碼", width: 150, dataIndex: 'JSON_sfzhm' },
                         { header: "擦寫時間", width: 150, dataIndex: 'JSON_make_time' },
                    ]
                );

但有些時候,咱們須要的效果是實際的行號,是翻頁以後,行號不會重置爲1,而是從在上一頁的最後一條記錄的行號的基礎上繼續遞增.這個時候,咱們須要對Ext.grid.RowNumbererblog

進行一下擴展:io

Ext.grid.PageRowNumberer = Ext.extend(Ext.grid.RowNumberer, {  
    width : 40,     
    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;  
        }  
    }     
}); 

rowIndex是本頁表格的行號,從0開始,pageindex取至每頁的Start參數,也是從0開始,那麼根據"從在上一頁的最後一條記錄的行號的基礎上繼續遞增",當前記錄的行號就爲:ast

pageindex + rowIndex + 1;  

舉個例子,代碼以下:
                //實際行號
                Ext.grid.PageRowNumberer = Ext.extend(Ext.grid.RowNumberer, {
                    width: 40,
                    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;
                        }
                    }
                });
                var colModel = new Ext.grid.ColumnModel
                (
                    [
                        // new Ext.grid.RowNumberer(),
                         new Ext.grid.PageRowNumberer(),
                         { header: "擦寫機器號", width: 100, dataIndex: 'JSON_no_machine' },
                         { header: "寫入服務器時間", width: 150, dataIndex: 'JSON_time_insert' },
                         { header: "現居住地址", width: 250, dataIndex: 'JSON_xjzdz' },
                         { header: "服務處所", width: 100, dataIndex: 'JSON_fwcs' },
                         { header: "擦寫日期", width: 150, dataIndex: 'JSON_cxrq' },
                         { header: "擦寫單位", width: 150, dataIndex: 'JSON_cxdwmc' },
                         { header: "姓名", width: 50, dataIndex: 'JSON_xm' },
                         { header: "身份證號碼", width: 150, dataIndex: 'JSON_sfzhm' },
                         { header: "擦寫時間", width: 150, dataIndex: 'JSON_make_time' },
                    ]
                );
 

 

 

 

NEDfunction

相關文章
相關標籤/搜索