Jquery EasyUI datagrid数据库分页

1.前端请求:

    function loadRefProj(searchInput) {
        $('#projreftable').datagrid({
            url: 'DataServer/SilentContractProjectBatchHandler.ashx',
            columns: [[
                { field: "Wbs号", title: "项目号", align: "center", width: 200 },
                { field: "Wbs名称", title: "项目名称", align: "center", width: 450},
                {
                    title: '', field: "Ref", align: "center", width: 100, formatter: function (value, rec, index) {
                        return '<button  onclick="sureRefProj(\'' + index + '\');$(this).parent().click();return false;">引用</button>';
                    }
                }
            ]],
            pageSize: 10,
            pagination: true,
            pageList: [10, 20, 30, 40, 50],
            queryParams: { "action": "queryRefProj", "searchInput": searchInput },
            onDblClickRow: function (index, row) {
                sureRefProj(index);
            }
        });
        getPage($('#projreftable'));
    }
function getPage($table) {
    var pager = $table.datagrid("getPager");
    pager.pagination({
        beforePageText: '第',
        afterPageText: '页 共{pages}页',
        displayMsg: '共{total}条', //当前显示{from}-{to}条
    });
}

2.后台接收请求:

        case "queryRefProj":
                    {
                        string searchInput = context.Request.Params["searchInput"] ?? "";
                        int page = context.Request.Form["page"] != "" ? Convert.ToInt32(context.Request.Form["page"]) : 0;
                        int size = context.Request.Form["rows"] != "" ? Convert.ToInt32(context.Request.Form["rows"]) : 0;
                        context.Response.Write(QueryRefProj(searchInput, page, size));
                    }
string QueryRefProj(string searchInput, int page, int size)
{
    DataTable refProjDt = dal.GetRefProj(page,size,searchInput);
    if (refProjDt != null && refProjDt.Rows.Count > 0)
    {
        int count = dal.GetRefProjCount(searchInput);
        StringBuilder sbJson = new StringBuilder();
        sbJson.Append("{\"rows\":");
        sbJson.Append(JsonConvert.SerializeObject(refProjDt, Newtonsoft.Json.Formatting.Indented));
        sbJson.Append(",\"total\":");
        sbJson.Append(count + "}");
        return sbJson.ToString();
    }
    return "[]";
}

 3.数据库请求语句:

SELECT TOP @size Wbs号,Wbs名称 FROM (SELECT TOP @size*@page Wbs号,Wbs名称 FROM Wbs结构表 @condition ORDER BY Wbs号) DERIVEDTBL ORDER BY Wbs号 DESC
        public DataTable GetRefProj(int page, int size, string queryInput = null)
        {
            string strSql = "SELECT TOP {0} Wbs号,Wbs名称 FROM (SELECT TOP {1} Wbs号,Wbs名称 FROM Wbs结构表 {2} ORDER BY Wbs号) DERIVEDTBL ORDER BY Wbs号 DESC ";
            if (!string.IsNullOrWhiteSpace(queryInput))
            {
                queryInput = string.Format(" where Wbs号 like '%{0}%' or Wbs名称 like '%{0}%'", queryInput);
            }
            strSql = string.Format(strSql, size, page * size, queryInput ?? "");
            return DaoService.GetDBDataSet(strSql, null).Tables[0];
        }

        public int GetRefProjCount(string queryInput = null)
        {
            string strSql = SqlUtil.GetSelSql("COUNT(*)", "Wbs结构表");
            queryInput = queryInput ?? "";
            strSql = string.Format(strSql, string.Format(" where Wbs号 like '%{0}%' or Wbs名称 like '%{0}%'", queryInput));
            return Convert.ToInt32(DaoService.ExecuteScalar(CommandType.Text, strSql, null));
        }

 

posted @ 2017-09-05 16:29  pding  阅读(197)  评论(0)    收藏  举报