Extjs之RowNumberer

Ext.grid.RowNumberer,Ext.grid.PageRowNumberer

在一个数据表格中,一般都会加一个行号,在ExtJs中,要实现行号这一效果,只需要一句代码:

 new Ext.grid.RowNumberer()

举个例子,代码如下:

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.RowNumberer

进行一下扩展:

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开始,那么根据"从在上一页的最后一条记录的行号的基础上继续递增",当前记录的行号就为:

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‘ },
                    ]
                );

NED

 
时间: 2024-12-29 15:05:11

Extjs之RowNumberer的相关文章

Extjs RowNumberer下一页动态增加

使用RowNumberer,当跳到下一页时,还是从1还是计数. 实现了序号的自动增加. ExtJs Grid分页时,默认情况下每页的序号都是从1起始的,这往往不符合我们的习惯.这里实现了序号的自动增加. 实现步骤如下: 1.定义全局变量. var record_start = 0; 2.Grid的columns部分的定义. columns : [new Ext.grid.RowNumberer({ header : "序号", width : 40, renderer:function

Extjs GridPael用法详解

Extjs GridPanel 提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择.编辑等.在之前的Extjs MVC开发模式详解中,我们已经使用到了GridPanel,今天我们来介绍一下Extjs中GridPanel的详细用法. 本文的示例代码适用于Extjs 4.x和Extjs 5.x,在Extjs 4.2.1 和Extjs 5.0.1中亲测可用! 本文由齐飞([email protected])原创,并发布在http://www.qeefee.com/

ExtJS 4.2 业务开发(二)数据展示和查询

本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统,并提供查询.添加.修改的功能. 大致的目录结构如下: ShipMgrTab.js :船舶业务的入口. controller 目录:存放船舶业务的逻辑控制文件. model 目录:存放船舶业务的model文件. store 目录 :存放船舶业务的store文件. view 目录 :存放船舶业务的组件

ExtJs renderer

extjs grid renderer用法 今天在做项目时,需要在列表中的某列添加一个超链接,首先要取得当前选中行的数据,判断数据类型,然后链接到不同的页面,研究下.发现ExtJs提供了一个很强的方法如下: var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer({ header: "", width: 20, align: 'center' }),{ header: '', align: 'center', dataIn

ExtJS表格——行号、复选框、选择模型

本篇的内容是为表格添加行号,和复选框,最后谈一下Ext的选择模型.内容比较简单,就直接上代码了.一. 设置行号   行号的设置主要问题在于删除某一行后需要重新计算行号  Ext.onReady(function() {         var cm = new Ext.grid.ColumnModel([                     new Ext.grid.RowNumberer(),           --在这里设置行号                    { header:

extjs的相关属性

通用属性: labelSeparator:''//表示fieldLabel后不会显示冒号":" readOnly:true//只读 focusCls: 'txtHalfInput'//有焦点时的样式 maxLength:3, enforceMaxLength:true//输入位数check fieldStyle: 'margin-top:3px;'//display上下不对齐解决办法 Ext.button.Button 属性: enableToggle:true//设置按钮为开关状态

ExtJs笔记

1.Ext简介.Extjs是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面.ExtJs可以用来开发RIA(Rich Internet Application,富互联网应用系统)的Ajax应用框架.ExtJs是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架.因此,可以把ExtJs用在.Net,Java.Php等各种开发语言开发的应用中2.Ext库文件说明                       

ExtJs之gridPanel的属性表格,编辑表格,表格分页,分组等技巧

这里藏的配置确实多.. 慢慢实践吧. <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css"

extjs gride 显示序号

在使用Extjs框架时,有时为了在信息列表中显示数据项的序号,这就要构造一些方法来显示序号,其方法有两种,具体如下: 1.方法一 对 Ext.grid.PageRowNumberer 进行扩展,详细代码下: /* 显示序号 方法1 */ Ext.grid.PageRowNumberer = Ext.extend(Ext.grid.RowNumberer, { width: 50, text: '序号', renderer: function (value, cellmeta, record, r