jqGrid动态增加列,使用在根据条件筛选而出现不同的列的场景

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
function GetGrid2() {
       var jqdata = [
           { Encode:"20180100", FullName: "BYD", SpecType: "cpu200", UnitName: "台", SecondUnit: "", Qty: "10", UnitCode: "50000", Cost: "35000" },
           { Encode:"20180100", FullName: "BYD", SpecType: "cpu200", UnitName: "台", SecondUnit: "", Qty: "10", UnitCode: "50000", Cost: "35000" }
       ];
       //创建jqGrid组件
       var $gridTable = $('#gridTable');       //固定列
       var model = [
           { label: "商品编号", name: "Encode", width: 100, align: 'left', sortable: false },
           { label: "商品名称", name: "FullName", width: 130, align: "left", sortable: false },
           { label: "规格型号", name: "SpecType", width: 150, align: 'left', sortable: false },
           { label: "单位", name: "UnitName", width: 150, align: 'left', sortable: false },
           { label: "副单位", name: "SecondUnit", width: 150, align: 'left', sortable: false },
           { label: "基本数量", name: "Qty", width: 150, align: 'left', sortable: false },
           { label: "单位成本", name: "UnitCode", width: 150, align: 'left', sortable: false },
           { label: "成本", name: "Cost", width: 150, align: 'left', sortable: false }];<br>        //动态列
       var addmodel = [{ label: "基本数量", name: "SHQty", width: 150, align: 'left', sortable: false }, { label: "可用库存", name: "SHRealQty", width: 150, align: 'left', sortable: false }];
       $.each(addmodel, function (key, value) {
           model.push({
               label: value.label,
               name: value.name,
               index: key,
               width: value.width,
               align: value.align,
               sortable: value.sortable
           });
       });
       //创建jqGrid组件
       $gridTable.jqGrid(
           {
               datatype: "json",
               height: $(window).height() - 230.5,
               autowidth: true,
               colModel: model,
               pager: false,
               rownumbers: true,
               shrinkToFit: false,
               gridview: true,
               footerrow: true,
               sortname: 'ExecutionDate',
               sortorder: 'desc',
               beforeRequest: function () {
                   $("thead th").css("text-align", "center").css("font-weight", "bold");
               },
               gridComplete: function () {
                   var totalreceivable = $(this).getCol("Receivable", false, "sum");
                   var totalexpenses = $(this).getCol("Expenses", false, "sum");
                   var totalbalance = $(this).getCol("Balance", false, "sum");
                   //合计
                   $(this).footerData("set", {
                       "ExecutionDate": "合计:",
                       "Receivable": totalreceivable,
                       "Expenses": totalexpenses,
                       "Balance": totalbalance
                   });
                   $('table.ui-jqgrid-ftable td').prevUntil().css("border-right-color", "#fff");
               }   
           });
       //将jqdata的值循环添加进jqGrid
       for (var i = 0; i <= jqdata.length; i++) {
           $gridTable.jqGrid('addRowData', i + 1, jqdata[i]);
       }
       //固定表头合并
       var groupHeaders = [
           { startColumnName: 'Qty', numberOfColumns: 3, titleText: '<div align="center"><b>所有仓库</b></div>' }
       ];<br>        //动态表头
       if (1 == 1) {
           groupHeaders.push({ startColumnName: 'SHQty', numberOfColumns: 2, titleText: '<div align="center"><b>上海仓库</b></div>' });
       }
       $gridTable.jqGrid('setGroupHeaders', {
           useColSpanStyle: true,
           groupHeaders: groupHeaders
       });
 
   }

  

 

posted @   James·wang  阅读(2790)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示