首页 > 代码库 > jqgrid+bootstrap样式实践

jqgrid+bootstrap样式实践

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

需要引入的样式

 

bootstrap.min.cssui.jqgrid.css

 

需要引入的JS

jquery.min.js

bootstrap.min.jsjquery.jqGrid.min.js

 

html代码:

 

[html] view plain copy
 
 技术分享技术分享
  1. <div class="jqGrid_wrapper">  
  2.     <table id="jqGridList"></table>  
  3.     <div id="jqGridPager"></div>  
  4. </div>  



 

 

jqgrid初始化

 

[javascript] view plain copy
 
 技术分享技术分享
  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.   
  35.         // 设置jqgrid的宽度  
  36.         $(window).bind(‘resize‘, function () {  
  37.             var width = $(‘.jqGrid_wrapper‘).width();  
  38.             jqGrid.setGridWidth(width);  
  39.         });  

 

其它jqgrid函数:

获取jqgrid选中的数据行:

 

[javascript] view plain copy
 
 技术分享技术分享
  1. var id = $(‘#jqGridList‘).jqGrid(‘getGridParam‘, ‘selrow‘);  
  2. if (id)  
  3.     return $(‘#jqGridList‘).jqGrid("getRowData", id);  
  4. else  
  5.     return null;  


获取jqgrid的所有选中的数据

[javascript] view plain copy
 
 技术分享技术分享
  1. var grid = $(‘#jqGridList‘);  
  2. var rowKey = grid.getGridParam("selrow");  
  3.   
  4. if (rowKey) {  
  5.     var selectedIDs = grid.getGridParam("selarrrow");  
  6.     for (var i = 0; i < selectedIDs.length; i++) {  
  7.         console.log(selectedIDs[i]);  
  8.     }  
  9. }  



 

最终的效果图:

技术分享

 

 

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

 

[csharp] view plain copy
 
 技术分享技术分享
    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.   
    21. namespace EP.Site.Web.Areas.Adm.Controllers  
    22. {  
    23.     /// <summary>  
    24.     /// 用户管理  
    25.     /// </summary>  
    26.     [Export]  
    27.     public class UserController : BaseController  
    28.     {  
    29.         [Import]  
    30.         public IAccountSiteContract AccountService { get; set; }  
    31.   
    32.         [Import]  
    33.         public ISys_UserSiteContract UserService { get; set; }  
    34.   
    35.         [Import]  
    36.         public ISys_ParameterSiteContract ParamService { get; set; }  
    37.   
    38.         // GET: Adm/User  
    39.         public ActionResult Index()  
    40.         {  
    41.             return View();  
    42.         }  
    43.   
    44.         // GET: Adm/User/Add  
    45.         public ActionResult Add()  
    46.         {  
    47.   
    48.             return View();  
    49.         }  
    50.   
    51.         // GET: Adm/User/Edit  
    52.         public ActionResult Edit(int id)  
    53.         {  
    54.             var model = UserService.GetByKeyId(id);  
    55.   
    56.             return View(model);  
    57.         }  
    58.   
    59.         /// <summary>  
    60.         /// 分页获取  
    61.         /// </summary>  
    62.         /// <param name="query"></param>  
    63.         /// <returns></returns>  
    64.         [HttpGet]  
    65.         public JsonResult GetList(QueryBase query)  
    66.         {  
    67.             try  
    68.             {  
    69.                 Expression<Func<Sys_UserDto, bool>> exp = item => !item.IsDeleted && !item.IsUser;  
    70.                 if (!query.SearchKey.IsBlank())  
    71.                     exp = exp.And(item => item.Name.Contains(query.SearchKey) || item.Code.Contains(query.SearchKey));  
    72.                 ResultDto<Sys_UserDto> dto = UserService.GetPages(query, exp, item => item.Id);  
    73.                 return Json(dto, JsonRequestBehavior.AllowGet);  
    74.             }  
    75.             catch (Exception ex)  
    76.             {  
    77.                 Log(ex);  
    78.                 return Json(new ResultDto<Sys_UserDto>(), JsonRequestBehavior.AllowGet);  
    79.             }  
    80.         }  
    81.   
    82.         /// <summary>  
    83.         /// 添加  
    84.         /// </summary>  
    85.         /// <param name="model"></param>  
    86.         /// <returns></returns>  
    87.         [HttpPost]  
    88.         public JsonResult AddModel(Sys_UserDto model)  
    89.         {  
    90.             var result = new Result<string>();  
    91.             try  
    92.             {  
    93.                 if (model == null)  
    94.                     throw new ArgumentException("参数错误");  
    95.                 bool flag = AccountService.Insert(model);  
    96.   
    97.                 if (result.flag)  
    98.                 {  
    99.                     ActionLog("Sys_User", model, ActionType.Insert, CurrentUser);  
    100.                 }  
    101.   
    102.                 result.flag = flag;  
    103.             }  
    104.             catch (Exception ex)  
    105.             {  
    106.                 Log(ex);  
    107.                 result.msg = ex.Message;  
    108.             }  
    109.             return Json(result, JsonRequestBehavior.AllowGet);  
    110.         }  
    111.   
    112.         /// <summary>  
    113.         /// 编辑  
    114.         /// </summary>  
    115.         /// <param name="model"></param>  
    116.         /// <returns></returns>  
    117.         [HttpPost]  
    118.         public JsonResult EditModel(Sys_UserDto model)  
    119.         {  
    120.             var result = new Result<string>();  
    121.             try  
    122.             {  
    123.                 if (model == null)  
    124.                     throw new ArgumentException("参数错误");  
    125.   
    126.                 bool flag = AccountService.Edit(model);  
    127.                 if (result.flag)  
    128.                 {  
    129.                     ActionLog("Sys_User", model, ActionType.Update, CurrentUser);  
    130.                 }  
    131.   
    132.                 result.flag = flag;  
    133.             }  
    134.             catch (Exception ex)  
    135.             {  
    136.                 Log(ex);  
    137.                 result.msg = ex.Message;  
    138.             }  
    139.             return Json(result, JsonRequestBehavior.AllowGet);  
    140.         }  
    141.     }  
    142. }  

jqgrid+bootstrap样式实践