BootStrap-Table 分页
来源:互联网 发布:东海局势 知乎 编辑:程序博客网 时间:2024/04/27 22:48
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, pageNumber, pageSize, out total) : _service.GetPageData(m => m.CompanyName.Contains(searchText), sortName, sortOrder, pageNumber, pageSize, 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, sortName, 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, string sortOrder, int pageNumber, int pageSize, out int totalRecord){ _nContext.Configuration.LazyLoadingEnabled = false; _nContext.Configuration.ProxyCreationEnabled = false; var list = GetList(); totalRecord = list.Count(); list = OrderBy(list, sortName, 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);}
0 0
- bootStrap table实现分页
- BootStrap-Table 分页
- Bootstrap Table分页例子
- bootstrap-table后端分页
- bootstrap-table分页问题
- bootstrap table 分页
- bootstrap table 分页例子
- BootStrap table分页
- bootstrap-table分页
- ssm分页+bootstrap-table
- bootstrap-table分页小结
- bootstrap-table 分页
- bootstrap-table 分页
- bootstrap-table真分页
- bootstrap table 分页,客户端分页
- SSH和BootStrap-table分页
- bootstrap-table 分页的问题
- Bootstrap table 服务器端分页示例
- Xcode升级7.3 编译时出错Cannot create __weak reference in file using manual
- Web的工作原理
- 线性表(下)
- 延展--用UIView+ViewController
- HTML&CSS——Position属性四个值:fixed、absolute和relative的区别和用法
- BootStrap-Table 分页
- 模拟抽牌
- MySQL5.5 my.cnf配置参考
- Caused by: java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
- 【C#】Entity Framework 增删改查和事务操作
- 智能空气测试仪“清心”
- 上传头像的处理
- ASP.NET解决方案 添加现有文件夹到项目解决方案
- MYSQL数据库备份与恢复