jqgrid MVC 存储过程分页
来源:互联网 发布:apache php7配置 编辑:程序博客网 时间:2024/05/16 03:33
ALTER proc [dbo].[LogList]
@pageIndex int,
@pageSize int,
@strFilter varchar(1000)
as
begin
exec('select top '+@pageSize+' *
from (select distinct ROW_NUMBER() OVER(order by ID desc) as RowNumber,LogType,LogContent,LogTime \
from Log
where '+@strFilter+' 1=1 ) AS TEMPTABLE Where RowNumber>' + @pageIndex+'*'+@pageSize+'')
exec('select count(*) from Log Where '+@strFilter+' 1=1 ')
end
public ActionResult Log(String str)
{
int intCurPage;
int intRowNum;
string strWhere = "";
intCurPage = GFun.SafeToInt32(Request["curpage"].ToString());
if (Request["rownum"] != null)
intRowNum = GFun.SafeToInt32(Request["rownum"].ToString());
else
intRowNum = 1;
if (str.Contains('$'))
{
var strFilter = str.Split('$');
str = " LogType like'%" + strFilter[0].ToString() + "%' and LogContent like'%" + strFilter[1].ToString() + "%' and ";
if (strFilter[2].ToString() == "" || strFilter[2].ToString() == null)
{
strWhere =str;
}
else
{
strWhere =str+ "LogTime >='" + strFilter[2].ToString() + " 00:00:00' and LogTime<='" + strFilter[3].ToString() + " 23:59:59' and ";
}
}
UIDataTable udtTask = LogBL.LogData(strWhere, intCurPage - 1, GFun.SafeToInt32(intRowNum));
string strjson = GFun.Dt2Json("task", udtTask.DtData);
strjson = strjson.Substring(1);
strjson = strjson.Substring(0, strjson.Length - 1);
string jsonData = "{ \"page\":" + GFun.SafeToInt32(Request["curpage"]) + ", \"total\": " + udtTask.IntTotalPages + ", \"records\": " + udtTask.IntRecords + ", \"rows\": ";
jsonData += strjson + "}";
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
public static UIDataTable LogData(String strFilter, int a_intPageIndex, int a_intPageSize)
{
return LogDA.LogData(strFilter,a_intPageIndex,a_intPageSize);
}
public static UIDataTable LogData(String strFilter, int a_intPageIndex, int a_intPageSize)
{
UIDataTable instData = new UIDataTable();
SqlParameter[] sqlpar = new SqlParameter[]{
new SqlParameter("@strFilter",strFilter),
new SqlParameter("@pageIndex",a_intPageIndex),
new SqlParameter("@pageSize",a_intPageSize)
};
DataSet dsTask = SQLBase.FillDataSet("LogList", CommandType.StoredProcedure, sqlpar, DataSourceCnn.EPMSCnn);
if (dsTask == null)
{
instData.DtData = null;
instData.IntRecords = 0;
instData.IntTotalPages = 0;
return instData;
}
DataTable dt = dsTask.Tables[0];
instData.IntRecords = GFun.SafeToInt32(dsTask.Tables[1].Rows[0][0]);
instData.DtData = dsTask.Tables[0];
if (instData.IntRecords > 0)
{
if (instData.IntRecords % a_intPageSize == 0)
instData.IntTotalPages = instData.IntRecords / a_intPageSize;
else
instData.IntTotalPages = instData.IntRecords / a_intPageSize + 1;
}
else
instData.IntTotalPages = 0;
instData.DtData = dt;
return instData;
}
public class UIDataTable
{
public UIDataTable();
public DataTable DtData { get; set; }
public int IntRecords { get; set; }
public int IntTotalPages { get; set; }
}
JS
function LogLoad() {
jQuery("#Loglist").jqGrid({
url: "Log?curpage=" + curPage + "&rownum=" + OnePageCount + '&str=' + str,
datatype: 'json',
data: {},
loadonce: false,
mtype: 'GET',
jsonReader: {
root: function (obj) {
var data = eval("(" + obj + ")");
return data.rows;
},
page: function (obj) {
var data = eval("(" + obj + ")");
return data.page;
},
total: function (obj) {
var data = eval("(" + obj + ")");
return data.total;
},
records: function (obj) {
var data = eval("(" + obj + ")");
return data.records;
},
repeatitems: false
},
colNames: ['序号', '日志类型', '日志内容', '日志时间'],
colModel: [
{ name: 'RowNumber', index: 'RowNumber', width: 35, align: 'center' },
{ name: 'LogType', index: 'LogType',width:150, align: 'center' },
{ name: 'LogContent', index: 'LogContent',width:392, align: 'center' },
{ name: 'LogTime', index: 'LogTime',width:120, align: 'center' }
],
pager: jQuery('#Logpager'),
pgbuttons: true,
rowNum: OnePageCount,
viewrecords: true,
imgpath: 'themes/basic/images',
caption: '操作日志',
onPaging: function (EpgButton) {
if (EpgButton == "next_Logpager")
if (curPage == $("#Loglist").getGridParam("lastpage"))
return;
else
curPage = $("#Loglist").getGridParam("page") + 1;
else if (EpgButton == "last_Logpager") {
curPage = $("#Loglist").getGridParam("lastpage");
}
else if (EpgButton == "prev_Logpager") {
if (curPage == 1)
return;
curPage = $("#Loglist").getGridParam("page") - 1;
}
else if (EpgButton == "first_Logpager") {
curPage = 1;
}
else {
curPage = $("#Logpager :input").val();
}
reload();
},
loadComplete: function () {
$("#Loglist").jqGrid("setGridHeight",268, false);
$("#Loglist").jqGrid("setGridWidth", 700, false);
}
});
}
function reload() {
$("#Loglist").jqGrid('setGridParam', {
url: "controller?curpage=" + curPage + "&rownum=" + OnePageCount + "&str=" + str,
datatype: 'json'
}).trigger("reloadGrid");
}
html
<div id="Log" class="divList" style="width: 100%; height:100%;">
<table id="Loglist" class="scroll" style="width: 100%; height: 100%;"></table>
<div id="Logpager" class="scroll" style="text-align: center; width: 100%;"></div>
</div>
CSS
.ui-jqgrid .ui-jqgrid-title{font-size:14px;font-family:"宋体";} /*修改grid标题的字体大小*/
.ui-jqgrid-sortable {font-size:13px;font-family:"宋体";} /*修改列名的字体大小*/
.ui-jqgrid tr.jqgrow td {font-size:12px; font-family:"宋体"} /*修改表格内容字体*/
- jqgrid MVC 存储过程分页
- MVC之EF(调用存储过程的分页)
- MVC调用存储过程实现分页,带查询条件
- orcale分页 存储过程分页
- 一个分页存储过程
- 一个分页存储过程
- 存储过程分页代码
- 分页存储过程
- 数据库分页存储过程
- 分页存储过程
- 一个分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- 存储过程分页
- SqlServer分页存储过程
- 分页的存储过程
- 通用分页存储过程
- sql 存储过程分页
- ArcGISEngine时态数据浏览回放
- ios资源大全
- Adb 相关命令集
- Spring五个事务隔离级别和七个事务传播行为
- 【网络通信】Wince 和 PC 通过USB 用Socket 进行通信
- jqgrid MVC 存储过程分页
- static_cast<>和reinterpret_cast<>
- 字符设备驱动学习笔记--按键驱动深化:poll或select操作
- c++ 拷贝构造函数
- hello world
- 准备启程
- 软件工程文档总结
- 从管理远程式团队和分布式团队中所获得的宝贵经验
- 【一周观察】动辄9位数以上的投资,云数据中心缺口巨大!