jqGrid 解决分页跳转无效问题

如上图,无论多少条数据,总页数只显示一页,导致无法进行翻页,经过搜索及调试发现后台数据总页数正确,但是没有返回前端,导致不能正常显示总页面,无法翻页。

解决方法:

1. 前端js:(列表渲染+按日期及关键字搜索+分页显示)

 function gridList() {
        var $gridList = $("#gridList");     
        $gridList.dataGrid({
            url: "/FileManage/FileListTable/GetGridJson",
            height: $(window).height() - 128,
            colModel: [
                { label: '主键', name: 'F_Id', hidden: true },
                { label: '上传人', name: 'F_UseName', width: 100, align: 'left' },
                { label: '文件名', name: 'F_FileName', width: 300, align: 'left' },
                { label: '文件类型', name: 'F_Type', width: 100, align: 'left' },              
                { label: '上传日期', name: 'F_Date', width: 130, align: 'left' },
                {
                    label: "操作", name: "F_Description", index: "F_Description", width: 100, align: "center", sortable: false,
                    formatter: function (value, row, index) {
                        return '<a download  href="javascript:download(\'' + index.F_Id + '\')">下载</a>      <a   href="javascript:onlineview(\'' + index.F_Id + '\')">预览</a>';
                    }
                },
            ],
            pager: "#gridPager",
            sortname: 'F_Date desc',
            viewrecords: true,                     
        });
        $("#btn_search").click(function () {
            var queryJson = {
                keyword: $("#txt_keyword").val(),
                startDate: $("#Start_Date").val(),
                endDate: $("#End_Date").val(),
                //itemId: $("#itemTree").getCurrentNode().id,
            }   
            console.log(queryJson)
            $gridList.jqGrid('setGridParam', {
                postData: { itemId: $("#itemTree").getCurrentNode().id,queryJson:JSON.stringify(queryJson) },
            }).trigger('reloadGrid');            
        });
    }

2. Controller代码:

public ActionResult GetGridJson(string itemId, Pagination pagination, string queryJson)
        {
            //var data = fileListTableApp.getListJson(itemId,pagination, queryJson);
            var data = new
            {
                rows = fileListTableApp.getListJson(pagination, itemId, queryJson),//数据
                total = pagination.total,//总页数
                page = pagination.page,//当前页数
                records = pagination.records//数据总条数
            };
            return Content(data.ToJson());
        } 

2. Application代码:

public List<FileListTableEntity> getListJson(Pagination pagination, string itemId, string queryJson)
        {
 
            var expression = ExtLinq.True<FileListTableEntity>();
            if (!string.IsNullOrEmpty(itemId))
            {
                expression = expression.And(t => t.F_ItemId == itemId);
            }
            var queryParam = queryJson.ToJObject();
            // var data= service.IQueryable(expression).OrderBy(t => t.F_Id).ToList();
            if (!queryParam["keyword"].IsEmpty())
            {//按输入的keyword进行搜索
                string keyword = queryParam["keyword"].ToString();
                expression = expression.And(t => t.F_UseName.Trim().Contains(keyword.Trim()));
                expression = expression.Or(t => t.F_FileName.Trim().Contains(keyword.Trim()));                
                expression = expression.Or(t => t.F_Type.Trim().Contains(keyword.Trim()));
                
            }
            if (!queryParam["startDate"].IsEmpty()) {
                string StartDate = queryParam["startDate"].ToString();
                DateTime StartTime = Convert.ToDateTime(StartDate);
                expression = expression.And(t => t.F_Date > StartTime);
            }
            if (!queryParam["endDate"].IsEmpty()) {
                
                string EndDate = queryParam["endDate"].ToString();
                DateTime EndTime = Convert.ToDateTime(EndDate);
                expression = expression.And(t => t.F_Date < EndTime);
            }
            //foreach (var item in data)
            //{
            //    item.F_Start=item.F_Start.ToDateString().ToDate();
            //    item.F_End=item.F_End.ToDateString().ToDate();
            //}
            pagination.sord = "desc";
            pagination.sidx = "F_UseName,F_FileName,F_GongXv";
            return service.FindList(expression, pagination).OrderByDescending(t => t.F_Date).ToList();//按日期排序
            //return service.FindList(expression, pagination);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值