在点击事件上重新加载jqxgrid数据后显示寻呼机的问题

时间:2015-01-30 14:14:50

标签: jqxgrid

我正在尝试在点击事件上重新加载网格。这是我的网格代码

var source = {
            datatype: "json",
            datafields: [                     
                        { name: 'sno' },
                        { name: 'bid' },
                        { name: 'city' },                    
                        { name: 'booking_date' },                    
                        { name: 'amount' },                  
                        { name: 'customer_contact' },                    
                        { name: 'user_name' },                   
                        { name: 'trip_type' },
                        { name: 'comments' },
                        { name: 'action' },
            ],
            cache: false,
            url: 'order_details.php?flag=2&start_date='+start_date_param+'&end_date='+end_date_param,              
            data: {
                pagesize:50
            },
            root: 'Rows',
            //sortcolumn: 'area',
           // sortdirection: 'asc',
           beforeprocessing: function (data) {
                source.totalrecords = data[0].TotalRows;
            }
        };
        dataadapter = new $.jqx.dataAdapter(source);

        // initialize jqxGrid
        $("#jqxgrid").jqxGrid(
        {
            width: 1100,
            source: dataadapter,
            theme: 'classic',
            autoheight: true,
            pageable: true,
            pagesize:50,
            enablebrowserselection: true, 
            selectionmode: 'singlecell',
            //sortable:true,
            virtualmode: true,
            rendergridrows: function (params) {
                return params.data;
            },
            columns:
            [   
                { text: 'No', datafield: 'sno', width: 30 },
                { text: 'Booking Id', datafield: 'bid', width: 90, align: 'center',cellsAlign: 'center' },
                { text: 'City', datafield: 'city', width: 170 },
                { text: 'Car Book Date', datafield: 'booking_date', width: 100, align: 'center',cellsAlign: 'center' },
                { text: 'Amount', datafield: 'amount', width: 60, align: 'right',cellsAlign: 'right' },
                { text: 'Customer Contact', datafield: 'customer_contact', width: 205 },
                { text: 'User Name', datafield: 'user_name', width: 125 },
                { text: 'Trip Type', datafield: 'trip_type', width: 160},
                { text: 'Comments', datafield: 'comments', width: 80, align: 'center',cellsAlign: 'center'},
                { text: 'Action', datafield: 'action', width: 80, align: 'center',cellsAlign: 'center'},
            ]
        });

        // event handling on select of date range and click on button show 
        $("#btn_show").on("click", function (e) {
            e.preventDefault();
            var start_date_param = $("#start_date").val();
            var end_date_param = $("#end_date").val();
            source.url = 'order_details.php?flag=2&start_date='+start_date_param+'&end_date='+end_date_param; 
              dataadapter.dataBind();
        });

点击按钮" btn_show",我可以从第0页获取数据,但是如果我在第4页,那么在点击事件之后,我的网格寻呼机仅保留在第4页,数据是显示第0页。如果我点击下一页,它会从第0页跳到下一页,即第5页    为什么jqxgrid在点击事件后没有重置dataadapter.dataBind()调用中的recordedstartindex和recorderdedendindex值?
我是否需要使用任何其他功能来重新加载我的完整网格?

1 个答案:

答案 0 :(得分:0)

我认为如下:

$("#jqxgrid").jqxGrid('gotopage', 0);

应该替换

dataadapter.dataBind();

在您的代码中。