jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能

需要引入的样式

bootstrap.min.css

ui.jqgrid.css

需要引入的JS

jquery.min.js

bootstrap.min.js
jquery.jqGrid.min.js

html代码:

  1. <div class="jqGrid_wrapper">
  2. <table id="jqGridList"></table>
  3. <div id="jqGridPager"></div>
  4. </div>

jqgrid初始化

  1. var jqGrid = $("#jqGridList");
  2. jqGrid.jqGrid({
  3. caption: "用户管理",
  4. url: "/User/GetList",
  5. mtype: "GET",
  6. styleUI: 'Bootstrap',//设置jqgrid的全局样式为bootstrap样式
  7. datatype: "json",
  8. colNames: ['主键', '登录帐号', '姓名','性别', '邮箱', '电话', '身份证'],
  9. colModel: [
  10. { name: 'Id', index: 'Id', width: 60, key: true, hidden: true },
  11. { name: 'Code', index: 'Code', width: 60 },
  12. { name: 'Name', index: 'Name', width: 60 },
  13. {
  14. name: 'Gender', index: 'Gender', width: 60,
  15. formatter: function(cellValue, options, rowObject) {
  16. return cellValue == 0 ? "男" : "女";
  17. }//jqgrid自定义格式化
  18. },
  19. { name: 'Email', index: 'Email', width: 60 },
  20. { name: 'Phone', index: 'Phone', width: 60 },
  21. { name: 'IdCard', index: 'IdCard', width: 60 }
  22. ],
  23. viewrecords: true,
  24. multiselect: true,
  25. rownumbers: true,
  26. autowidth: true,
  27. height: "100%",
  28. rowNum: 20,
  29. rownumbers: true, // 显示行号
  30. rownumWidth: 35, // the width of the row numbers columns
  31. pager: "#jqGridPager",//分页控件的id
  32. subGrid: false//是否启用子表格
  33. });
  34. // 设置jqgrid的宽度
  35. $(window).bind('resize', function () {
  36. var width = $('.jqGrid_wrapper').width();
  37. jqGrid.setGridWidth(width);
  38. });

其它jqgrid函数:

获取jqgrid选中的数据行:

  1. var id = $('#jqGridList').jqGrid('getGridParam', 'selrow');
  2. if (id)
  3. return $('#jqGridList').jqGrid("getRowData", id);
  4. else
  5. return null;

获取jqgrid的所有选中的数据

  1. var grid = $('#jqGridList');
  2. var rowKey = grid.getGridParam("selrow");
  3. if (rowKey) {
  4. var selectedIDs = grid.getGridParam("selarrrow");
  5. for (var i = 0; i < selectedIDs.length; i++) {
  6. console.log(selectedIDs[i]);
  7. }
  8. }

最终的效果图:

另附上后台控制器代码,又需要的可以看看

    1. /*******************************************************************************
    2. * Copyright (C) JuCheap.Com
    3. *
    4. * Author: dj.wong
    5. * Create Date: 2015/8/7 15:02:43
    6. * Description: Automated building by service@aspxpet.com
    7. *
    8. * Revision History:
    9. * Date         Author               Description
    10. *
    11. *********************************************************************************/
    12. using EP.Component.Tools;
    13. using EP.Site.Models;
    14. using System;
    15. using System.Linq;
    16. using System.Collections.Generic;
    17. using System.ComponentModel.Composition;
    18. using System.Web.Mvc;
    19. using System.Linq.Expressions;
    20. namespace EP.Site.Web.Areas.Adm.Controllers
    21. {
    22. /// <summary>
    23. /// 用户管理
    24. /// </summary>
    25. [Export]
    26. public class UserController : BaseController
    27. {
    28. [Import]
    29. public IAccountSiteContract AccountService { get; set; }
    30. [Import]
    31. public ISys_UserSiteContract UserService { get; set; }
    32. [Import]
    33. public ISys_ParameterSiteContract ParamService { get; set; }
    34. // GET: Adm/User
    35. public ActionResult Index()
    36. {
    37. return View();
    38. }
    39. // GET: Adm/User/Add
    40. public ActionResult Add()
    41. {
    42. return View();
    43. }
    44. // GET: Adm/User/Edit
    45. public ActionResult Edit(int id)
    46. {
    47. var model = UserService.GetByKeyId(id);
    48. return View(model);
    49. }
    50. /// <summary>
    51. /// 分页获取
    52. /// </summary>
    53. /// <param name="query"></param>
    54. /// <returns></returns>
    55. [HttpGet]
    56. public JsonResult GetList(QueryBase query)
    57. {
    58. try
    59. {
    60. Expression<Func<Sys_UserDto, bool>> exp = item => !item.IsDeleted && !item.IsUser;
    61. if (!query.SearchKey.IsBlank())
    62. exp = exp.And(item => item.Name.Contains(query.SearchKey) || item.Code.Contains(query.SearchKey));
    63. ResultDto<Sys_UserDto> dto = UserService.GetPages(query, exp, item => item.Id);
    64. return Json(dto, JsonRequestBehavior.AllowGet);
    65. }
    66. catch (Exception ex)
    67. {
    68. Log(ex);
    69. return Json(new ResultDto<Sys_UserDto>(), JsonRequestBehavior.AllowGet);
    70. }
    71. }
    72. /// <summary>
    73. /// 添加
    74. /// </summary>
    75. /// <param name="model"></param>
    76. /// <returns></returns>
    77. [HttpPost]
    78. public JsonResult AddModel(Sys_UserDto model)
    79. {
    80. var result = new Result<string>();
    81. try
    82. {
    83. if (model == null)
    84. throw new ArgumentException("参数错误");
    85. bool flag = AccountService.Insert(model);
    86. if (result.flag)
    87. {
    88. ActionLog("Sys_User", model, ActionType.Insert, CurrentUser);
    89. }
    90. result.flag = flag;
    91. }
    92. catch (Exception ex)
    93. {
    94. Log(ex);
    95. result.msg = ex.Message;
    96. }
    97. return Json(result, JsonRequestBehavior.AllowGet);
    98. }
    99. /// <summary>
    100. /// 编辑
    101. /// </summary>
    102. /// <param name="model"></param>
    103. /// <returns></returns>
    104. [HttpPost]
    105. public JsonResult EditModel(Sys_UserDto model)
    106. {
    107. var result = new Result<string>();
    108. try
    109. {
    110. if (model == null)
    111. throw new ArgumentException("参数错误");
    112. bool flag = AccountService.Edit(model);
    113. if (result.flag)
    114. {
    115. ActionLog("Sys_User", model, ActionType.Update, CurrentUser);
    116. }
    117. result.flag = flag;
    118. }
    119. catch (Exception ex)
    120. {
    121. Log(ex);
    122. result.msg = ex.Message;
    123. }
    124. return Json(result, JsonRequestBehavior.AllowGet);
    125. }
    126. }
    127. }

jqgrid+bootstrap样式实践的更多相关文章

  1. 从覆盖bootstrap样式谈css选择器优先级

    样式优先级 首先简单说几个定义样式的方式: 元素内嵌: <li><a href="" style="color:#ffffff;">SH ...

  2. 自定义bootstrap样式-9行样式自定义漂亮大气bootstrap导航栏

    有人说前端发展太快,框架太多,各有所需,各有所长.看看这幅图,估计都知道这些框架,但是大部分公司中实际要用到的也就那么几个. 发展再快,框架再多.还是得回到原点,不就是Html+Css+JavaScr ...

  3. Yii2框架bootstrap样式理解

    Yii2框架默认採用了bootstrap作为CSS风格,各种视图类组件都如此.之前一直採用默认风格,并在必要的时候加入或者改动一下class来达到目的.但在改版Yii1.1的orange项目时.发现之 ...

  4. js 重写 bootstrap 样式 alert/confirm 消息窗口

    相信很多人都受够了 alert.confirm 的样子,最近正在用 bootstrap 做项目,顺便封装了一个 bootstrap 样式的消息框. 实现起来很简单,bootstrap 本身就自带了 m ...

  5. Angular中使用bootstrap样式

    Angular中使用bootstrap样式 Angular中引入bootstrap的方法   方法1:在Angular.json中的styles数组中添加bootstrap路径 如下所示: " ...

  6. 利用vue v-bind属性绑定bootstrap样式以及输出数据

    自从知道了bootstrap,就被他简介,大气美观的样式吸引,即使在vue框架中,仍旧想使用,下面给出了vue适配版和原版的代码,以飨读者 数据输出部分 export default { data() ...

  7. Python--day62--使用Bootstrap样式的出版社

    没有使用之前: 使用Bootstrap样式之后:

  8. 自定义Bootstrap样式弹出框

    最近做的一些功能需要用到Bootstrap,然而原来的系统并没有引入Bootstrap,为了新写的控件能够应用于老的页面,又不需要在老的页面上引入全套的Bootstrap文件决定写一个模仿Bootst ...

  9. Sweetalert模态对话框与Swiper轮播插件、Bootstrap样式组件、AdminLTE后台管理模板地址

    Sweetalert纯JS模态对话框插件地址:http://mishengqiang.com/sweetalert/ AdminLTE后台管理模板系统地址(基于Bootstrap):https://a ...

随机推荐

  1. useful commands for Kubernetes beginners

    Get pod ip and their coordinating NODE $ kubectl get pods -o wide If you want to get detailed inform ...

  2. 那些年黑了你的微软BUG

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 前言 炎炎夏日,朗朗乾坤,30℃ 的北京,你还在 Coding 吗? 整个 7 月都在忙项目,还加了 ...

  3. ASP.NET MVC 描述类型(二)

    ASP.NET MVC 描述类型(二) 前言 上个篇幅中说到ControllerDescriptor类型的由来过程,对于ControllerDescriptor类型来言ActionDescriptor ...

  4. PL/SQL快速选中一行并执行

    首先确认光标必须处在该行的位置 按下End键位 其次按下shift+home 最后按下F8执行

  5. 【PRINCE2是什么】PRINCE2认证之七大主题(1)

    进入第一个主题,PRINCE2商业论证:PRINCE2指出,商业论证就是进行判断是否值得对项目进行投资,值不值的问题.PRINCE2的商业论证有四个 在项目开始时,开发商业论证.在整个项目生命周期中, ...

  6. Failure to find xxx in xxx was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced @ xxx

    问题: 在linux服务器上使用maven编译war时报错: 16:41:35 [FATAL] Non-resolvable parent POM for ***: Failure to find * ...

  7. 解析大型.NET ERP系统 通用附件管理功能

    大型系统具备一个通用的附件管理功能,对于单据中无法清晰表达的字段,用一个附件图片或附件文档表示是最好的方法了.比如物料清单附加一张CAD图纸,销售订单评审功能中附加客户的各种表格,通用附件功能对系统起 ...

  8. Redis系列之key操作命令与Redis中的事务详解(六)

    序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查阅,更深入的挖掘redis潜力. 2.掌握redis中的事务,让你的数据完整性一致性拥有更优的保障. redis命 ...

  9. EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

  10. MVC5 网站开发之二 创建项目

    昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...