Ext.PagingToolbar翻页问题

问题描述:

我在服务器aspx页面获取当前页码第一次加载页面正常,是0和10
点下一页的时候我调试发现start的值是10,但是limit的值还是正常10
服务器端代码是这样写的,请问有人知道是什么原因吗?
int start = Convert.ToInt32(Request.Params["start"].Trim());
int limit = Convert.ToInt32(Request.Params["limit"].Trim());

这里是extjs代码
Ext.onReady(function() {

        var ds = new Ext.data.Store({
            url: "GetQuestionList.aspx",
            reader: new Ext.data.JsonReader(
                { root: 'datalist', totalProperty: 'totalCount' },
                [{ name: 'title', mapping: 'title' },
                 { name: 'type', mapping: 'type' },
                 { name: 'ct', mapping: 'ct', type: 'date', dateFormat: 'Y-n-j H:i:s' },
                 { name: 'state', mapping: 'state' }
                ]
            )
        });

        var pagingBar = new Ext.PagingToolbar({
            pageSize: 10,
            store: ds,
            displayInfo: true,
            displayMsg: '当前显示 {0} - {1} 共有记录 {2}',
            emptyMsg: "No topics to display"
        });

        var gv = new Ext.grid.GridPanel({
            title: '问题列表',
            el: 'divGvList',
            loadMask: { msg: '正在加载数据,请稍侯……' },
            store: ds,
            viewConfig: { forceFit: true },
            columns: [
                new Ext.grid.RowNumberer(),
                { header: '标题', dataIndex: 'title', sortable: true },
                { header: '分类', width: 150, dataIndex: 'type', sortable: true },
                { header: '时间', width: 100, dataIndex: 'ct', sortable: true, renderer: Ext.util.Format.dateRenderer('Y.m.d H:i') },
                { header: '回复状态', width: 80, dataIndex: 'state', sortable: true }
            ],
            bbar: pagingBar
        });
        gv.render();
        ds.load({
            params: { start: 0, limit: 10 },
            callback: function(r, options, success) {
                if (!success) {
                    alert("加载数据失败,无对应数据或者系统出现异常!");
                }
            }
        });

    });

[b]问题补充:[/b]
点下一页的时候我调试发现start的值是10,但是limit的值还是正常10
可能是我没说清楚,limit的值正常,每页显示10条这个是正常的
我说的问题是start的值变成10了,这个不正常,加载完页面点下一页应该1
不应该是10,因为第一次params: { start: 0, limit: 10 }指定为0了

[quote]
点下一页的时候我调试发现start的值是10,但是limit的值还是正常10
可能是我没说清楚,limit的值正常,每页显示10条这个是正常的
我说的问题是start的值变成10了,这个不正常,加载完页面点下一页应该1
不应该是10,因为第一次params: { start: 0, limit: 10 }指定为0了
[/quote]

你理解错了.他是正常的

第一次是start = 0 limit = 10;意思就是从0开始取10条记录那就是 记录0~记录10
下一页后start = (start + limit) 也就是10,limit还是10 意思就是从 记录10 ~ 记录 20 从10开始取10条那就是20喽.

点下一页的时候我调试发现start的值是10,但是limit的值还是正常10

limit是代表一页多少条数据.

start是代表总数据的第几条,而不是第一页.
你想知道第几页,用start/limit

start : Number
The starting row number for the next page of records to be retrieved from the server

limit : Number
The number of records to be retrieved from the server

(note: the names of the start and limit properties are determined by the store's paramNames property.)