BootStrap-Table 分页
发布时间:2020-12-17 20:58:54 所属栏目:安全 来源:网络整理
导读:bootstrap-Table:http://bootstrap-table.wenzhixin.net.cn/ 页面 div ? class = "widget-content" ???? div ? id = "toolbar" ???????? a ? id = "add" ? class = "btn?btn-default" ? href = "/CompanyInfo/Add" ???????????? i ? class = "glyphicon?glyp
bootstrap-Table:http://bootstrap-table.wenzhixin.net.cn/ 页面 <div?class="widget-content"> ????<div?id="toolbar"> ????????<a?id="add"?class="btn?btn-default"?href="/CompanyInfo/Add"> ????????????<i?class="glyphicon?glyphicon-plus"></i>?新建 ????????</a> ????</div> ????<table?id="table"?class="table?table-bordered?dataTable" ???????????data-toggle="table" ???????????data-search="true" ???????????data-toolbar="#toolbar" ???????????data-url="@Url.Action("GetPageData")" ???????????data-method="post" ???????????data-content-type="application/x-www-form-urlencoded" ???????????data-side-pagination="server" ???????????data-pagination="true" ???????????data-sort-name="CompanyName" ???????????data-sort-order="asc" ???????????data-query-params="queryParams"> ????????<thead> ????????????<tr> ????????????????<th?data-field="CompanyName"?data-sortable="true"?data-halign="center">企业名称</th> ????????????????<th?data-field="CompanyShort"?data-sortable="true"?data-halign="center">企业简称</th> ????????????????<th?data-field="Address"?data-sortable="true"?data-halign="center">地址</th> ????????????????<th?data-field="LinkName"?data-sortable="true"?data-halign="center">联系人</th> ????????????????<th?data-field="LinkTel"?data-sortable="true"?data-halign="center">联系电话</th> ????????????????<th?data-align="center"?data-formatter="operateFormatter"?data-width="60px"></th> ????????????</tr> ????????</thead> ????</table> </div> <link?rel="stylesheet"?href="~/Content/bootstrap-table.css"?/> @section?scripts { ????<script?src="~/Scripts/bootstrap-table.js"?type="text/javascript"></script> ????<script?src="~/Scripts/locales/bootstrap-table-zh-CN.js"?type="text/javascript"></script> ????<script?src="~/Scripts/bootstrap.tables.js"?type="text/javascript"></script> ????<script?type="text/javascript"> ????????//设置传入参数 ????????function?queryParams(params)?{ ????????????return?params; ????????} ????????//操作按钮 ????????function?operateFormatter(value,?row)?{ ????????????return?'<a?href="@Url.Action("Edit")/'?+?row.CompanyID?+?'"><i?class="glyphicon?glyphicon-edit"></i></a> '?+ ????????????????'<a?href="@Url.Action("Delete")/'?+?row.CompanyID?+?'"?onclick="return?confirm("确认删除?")"><i?class="glyphicon?glyphicon-remove"></i></a>'; ????????} ????</script> }控制器代码: ///?<summary> ///?获取数据 ///?</summary> ///?<returns></returns> [HttpPost] public?JsonResult?GetPageData() { ????//limit,?offset,?search,?sort,?order? ????//pageSize,?pageNumber,?searchText,?sortName,?sortOrder.? ????int?pageSize?=?Convert.ToInt32(Request.Form["limit"]); ????int?pageNumber?=?Convert.ToInt32(Request.Form["offset"]); ????string?sortName?=?Request.Form["sort"]; ????string?sortOrder?=?Request.Form["order"]; ????string?searchText?=?Request.Form["search"]; ????int?total; ????var?rows?=?String.IsNullOrEmpty(searchText) ??????????_service.GetPageData(sortName,?sortOrder,?pageSize,?out?total) ????????:?_service.GetPageData(m?=>?m.CompanyName.Contains(searchText),????????????out?total); ????var?json?=?Json(new?{?total,?rows?},?JsonRequestBehavior.AllowGet); ????return?json; } 分页代码: ///?<summary> ///?查找分页数据列表 ///?</summary> ///?<param?name="pageNumber">当前页</param> ///?<param?name="pageSize">每页记录数</param> ///?<param?name="totalRecord">总记录数</param> ///?<param?name="predicate">查询表达式</param> ///?<param?name="sortOrder">是否升序</param> ///?<param?name="sortName">排序字段名称</param> ///?<returns>实例列表</returns> public?IQueryable<T>?GetPageData<TS>(Expression<Func<T,?bool>>?predicate,?string?sortName,?string?sortOrder,????int?pageNumber,?int?pageSize,?out?int?totalRecord) { ????_nContext.Configuration.LazyLoadingEnabled?=?false; ????_nContext.Configuration.ProxyCreationEnabled?=?false; ????var?list?=?_nContext.Set<T>().Where<T>(predicate); ????totalRecord?=?list.Count(); ????list?=?OrderBy(list,?sortOrder?==?"asc").Skip(pageNumber?*?pageSize).Take(pageSize); ????_nContext.Configuration.LazyLoadingEnabled?=?true; ????_nContext.Configuration.ProxyCreationEnabled?=?true; ????return?list; } ///?<summary> ///?查找分页数据列表 ///?</summary> ///?<param?name="pageNumber">当前页</param> ///?<param?name="pageSize">每页记录数</param> ///?<param?name="totalRecord">总记录数</param> ///?<param?name="sortOrder">是否升序</param> ///?<param?name="sortName">排序字段名称</param> ///?<returns>实例列表</returns> public?IQueryable<T>?GetPageData<TS>(string?sortName,?int?pageNumber,?out?int?totalRecord) { ????_nContext.Configuration.LazyLoadingEnabled?=?false; ????_nContext.Configuration.ProxyCreationEnabled?=?false; ????var?list?=?GetList(); ????totalRecord?=?list.Count(); ????list?=?OrderBy(list,?sortOrder?==?"asc").Skip(pageNumber?*?pageSize).Take(pageSize); ????_nContext.Configuration.LazyLoadingEnabled?=?true; ????_nContext.Configuration.ProxyCreationEnabled?=?true; ????return?list; } ///?<summary> ///?排序 ///?</summary> ///?<typeparam?name="T">类型</typeparam> ///?<param?name="source">原IQueryable</param> ///?<param?name="propertyName">排序属性名</param> ///?<param?name="isAsc">是否正序</param> ///?<returns>排序后的IQueryable<T/></returns> private?static?IQueryable<T>?OrderBy(IQueryable<T>?source,?string?propertyName,?bool?isAsc) { ????if?(source?==?null)?throw?new?ArgumentNullException("source",?"不能为空"); ????if?(string.IsNullOrEmpty(propertyName))?return?source; ????//Expression:提供一种基类,表示表达式目录树节点的类派生自该基类。 ????//创建一个?ParameterExpression?节点,该节点可用于标识表达式树中的参数或变量。 ????var?parameter?=?Expression.Parameter(source.ElementType); ????//创建一个表示访问属性的?MemberExpression ????var?property?=?Expression.Property(parameter,?propertyName); ????if?(property?==?null)?throw?new?ArgumentNullException("propertyName",?"属性不存在"); ????var?lambdaExpression?=?Expression.Lambda(property,?parameter); ????var?methodName?=?isAsc???"OrderBy"?:?"OrderByDescending"; ????var?resultExpression?=?Expression.Call(typeof(Queryable),?methodName,?new[]?{?source.ElementType,?property.Type?},?source.Expression,?Expression.Quote(lambdaExpression)); ????return?source.Provider.CreateQuery<T>(resultExpression); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |