jqgrid子表格

Posted 听哥哥的话

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jqgrid子表格相关的知识,希望对你有一定的参考价值。

1.前台
<%-- builed by manage.aspx.cmt  [ver:2018.25.11] at 2018/4/11 15:25:43 --%>


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TranProfitLossImpactManage.aspx.cs" Inherits="HraWeb.TranProfitLossImpactManage" %>

<%@ Register Assembly="Trirand.Web" TagPrefix="asp" Namespace="Trirand.Web.UI.WebControls" %>
<%@ Register Src="~/Contols/Manage.ascx" TagName="Manage" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <div id="toolbar" class="datagrid-toolbar">
            <div class="panel-body" style="border: none; background: none; padding: 5px 20px;">
                <div class="pull-right">
                    <div class="btn-group btn-group-sm">
                        <div class="input-group input-group-sm" style="width: 300px">
                            <div class="input-group-addon">名称</div>
                            <input type="text" id="txt_Name_LK_" name="txt_Name_LK_" class="datacontrol form-control" style="border-radius: 0px" />
                            <span class="input-group-btn">
                                <button class="btn btn-default " id="btn_search" type="button"><i class="fa fa-search"></i>查询</button>
                            </span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class=jdataGrid>
            <table id="jq">
            </table>
            <div id="jq_pager">
            </div>
          <%--    <table id="jq_t">
            </table>
            <div id="jq_pgr">
            </div>--%>
        </div>
    </form>


    <script type="text/javascript">
        function bindSubGrid(subgrid_id, asofdate) {
            var subgrid_table_id;
            subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id  

            var subgrid_pager_id;
            subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id 

            // (5)动态添加子报表的table和pager  
            $("#" + subgrid_id)
                    .html(
                            "<table id=‘" + subgrid_table_id + "‘ class=‘scroll‘></table><div id=‘" + subgrid_pager_id + "‘ class=‘scroll‘></div>");
            // (6)创建jqGrid对象  
            $("#" + subgrid_table_id)
                    .jqGrid(
                            {
                                url: TranProfitLossImpactManage.aspx?_method=loadbydate&asofdate= + asofdate, // (7)子表格数据对应的url,注意传入的contact.id参数  
                                datatype: "json",
                                page: 1,
                                colNames: [ "合约号码", "合约名称", "计算方法", "计价货币", "上一日盯市价值", "当日盯市价值", "交易损益", "损益解释水平", "损益解释百分比", "总方差水平", "总方差百分比", "价格重估值", "利率重估值", "汇率重估值", "时间重估值", "关联度重估值", "价格归因", "利率归因", "汇率归因", "时间归因", "价格差值", "波动率差值", "利率差值", "汇率差值", "VEGAGAMMA归因", "交叉GAMMA归因", "交叉VEGAGAMMA归因", "DELTAVEGA归因", "波动率重估值", "波动率偏差重估值", "价格波动率重估值", "波动率归因", "波动率偏差归因", "价格波动率归因", "关联度归因", "价格方差", "波动率方差", "波动率偏差方差", "价格波动率方差", "利率方差", "汇率方差", "关联度方差", "时间方差", "新交易归因", "交易结算归因", "交易撤销归因", "交易修订归因", "价格重置归因", "期权执行归因", "DELTA归因", "GAMMA归因", "VEGA归因", "THETA归因", "RHO归因", "ETA归因", "Id"],
                                colModel: [
                     
                          {
                              "name": "TransactionId",
                              "superFilterColumn": "TransactionId",
                              "searchoptions": {

                              },

                              "index": "TransactionId"
                          },
                          {
                              "name": "TransactionName",
                              "superFilterColumn": "TransactionName",
                              "searchoptions": {

                              },

                              "index": "TransactionName"
                          },
                          {
                              "name": "ComputeMethodId",
                              "superFilterColumn": "ComputeMethodId",
                              "searchoptions": {

                              },

                              "index": "ComputeMethodId"
                          },
                          {
                              "name": "ValueCurrencyName",
                              "superFilterColumn": "ValueCurrencyName",
                              "searchoptions": {

                              },

                              "index": "ValueCurrencyName"
                          },
                          {
                              "name": "PriorMtmValue",
                              "superFilterColumn": "PriorMtmValue",
                              "searchoptions": {

                              },

                              "index": "PriorMtmValue"
                          },
                          {
                              "name": "CurrMtmValue",
                              "superFilterColumn": "CurrMtmValue",
                              "searchoptions": {

                              },

                              "index": "CurrMtmValue"
                          },
                          {
                              "name": "ProfitLossValue",
                              "superFilterColumn": "ProfitLossValue",
                              "searchoptions": {

                              },

                              "index": "ProfitLossValue"
                          },
                          {
                              "name": "PnlExplainedLevel",
                              "superFilterColumn": "PnlExplainedLevel",
                              "searchoptions": {

                              },

                              "index": "PnlExplainedLevel"
                          },
                          {
                              "name": "PnlExplainedPercent",
                              "superFilterColumn": "PnlExplainedPercent",
                              "searchoptions": {

                              },

                              "index": "PnlExplainedPercent"
                          },
                          {
                              "name": "TotalVarianceLevel",
                              "superFilterColumn": "TotalVarianceLevel",
                              "searchoptions": {

                              },

                              "index": "TotalVarianceLevel"
                          },
                          {
                              "name": "TotalVariancePercent",
                              "superFilterColumn": "TotalVariancePercent",
                              "searchoptions": {

                              },

                              "index": "TotalVariancePercent"
                          },
                          {
                              "name": "PriceRevaluation",
                              "superFilterColumn": "PriceRevaluation",
                              "searchoptions": {

                              },

                              "index": "PriceRevaluation"
                          },
                          {
                              "name": "IrRateRevaluation",
                              "superFilterColumn": "IrRateRevaluation",
                              "searchoptions": {

                              },

                              "index": "IrRateRevaluation"
                          },
                          {
                              "name": "FxRateRevaluation",
                              "superFilterColumn": "FxRateRevaluation",
                              "searchoptions": {

                              },

                              "index": "FxRateRevaluation"
                          },
                          {
                              "name": "TimeRevaluation",
                              "superFilterColumn": "TimeRevaluation",
                              "searchoptions": {

                              },

                              "index": "TimeRevaluation"
                          },
                          {
                              "name": "CorrRevaluation",
                              "superFilterColumn": "CorrRevaluation",
                              "searchoptions": {

                              },

                              "index": "CorrRevaluation"
                          },
                          {
                              "name": "PriceImpact",
                              "superFilterColumn": "PriceImpact",
                              "searchoptions": {

                              },

                              "index": "PriceImpact"
                          },
                          {
                              "name": "IrRateImpact",
                              "superFilterColumn": "IrRateImpact",
                              "searchoptions": {

                              },

                              "index": "IrRateImpact"
                          },
                          {
                              "name": "FxRateImpact",
                              "superFilterColumn": "FxRateImpact",
                              "searchoptions": {

                              },

                              "index": "FxRateImpact"
                          },
                          {
                              "name": "TimeImpact",
                              "superFilterColumn": "TimeImpact",
                              "searchoptions": {

                              },

                              "index": "TimeImpact"
                          },
                          {
                              "name": "PriceDifferential",
                              "superFilterColumn": "PriceDifferential",
                              "searchoptions": {

                              },

                              "index": "PriceDifferential"
                          },
                          {
                              "name": "VolatilityDifferential",
                              "superFilterColumn": "VolatilityDifferential",
                              "searchoptions": {

                              },

                              "index": "VolatilityDifferential"
                          },
                          {
                              "name": "IrRateDifferential",
                              "superFilterColumn": "IrRateDifferential",
                              "searchoptions": {

                              },

                              "index": "IrRateDifferential"
                          },
                          {
                              "name": "FxRateDifferential",
                              "superFilterColumn": "FxRateDifferential",
                              "searchoptions": {

                              },

                              "index": "FxRateDifferential"
                          },
                          {
                              "name": "VegaGammaImpact",
                              "superFilterColumn": "VegaGammaImpact",
                              "searchoptions": {

                              },

                              "index": "VegaGammaImpact"
                          },
                          {
                              "name": "CrossGammaImpact",
                              "superFilterColumn": "CrossGammaImpact",
                              "searchoptions": {

                              },

                              "index": "CrossGammaImpact"
                          },
                          {
                              "name": "CrossVegaGammaImpact",
                              "superFilterColumn": "CrossVegaGammaImpact",
                              "searchoptions": {

                              },

                              "index": "CrossVegaGammaImpact"
                          },
                          {
                              "name": "DeltaVegaImpact",
                              "superFilterColumn": "DeltaVegaImpact",
                              "searchoptions": {

                              },

                              "index": "DeltaVegaImpact"
                          },
                          {
                              "name": "VolatilityRevaluation",
                              "superFilterColumn": "VolatilityRevaluation",
                              "searchoptions": {

                              },

                              "index": "VolatilityRevaluation"
                          },
                          {
                              "name": "VolSkewRevaluation",
                              "superFilterColumn": "VolSkewRevaluation",
                              "searchoptions": {

                              },

                              "index": "VolSkewRevaluation"
                          },
                          {
                              "name": "PriceVolRevaluation",
                              "superFilterColumn": "PriceVolRevaluation",
                              "searchoptions": {

                              },

                              "index": "PriceVolRevaluation"
                          },
                          {
                              "name": "VolatilityImpact",
                              "superFilterColumn": "VolatilityImpact",
                              "searchoptions": {

                              },

                              "index": "VolatilityImpact"
                          },
                          {
                              "name": "VolSkewImpact",
                              "superFilterColumn": "VolSkewImpact",
                              "searchoptions": {

                              },

                              "index": "VolSkewImpact"
                          },
                          {
                              "name": "PriceVolImpact",
                              "superFilterColumn": "PriceVolImpact",
                              "searchoptions": {

                              },

                              "index": "PriceVolImpact"
                          },
                          {
                              "name": "CorrImpact",
                              "superFilterColumn": "CorrImpact",
                              "searchoptions": {

                              },

                              "index": "CorrImpact"
                          },
                          {
                              "name": "PriceVariance",
                              "superFilterColumn": "PriceVariance",
                              "searchoptions": {

                              },

                              "index": "PriceVariance"
                          },
                          {
                              "name": "VolatilityVariance",
                              "superFilterColumn": "VolatilityVariance",
                              "searchoptions": {

                              },

                              "index": "VolatilityVariance"
                          },
                          {
                              "name": "VolSkewVariance",
                              "superFilterColumn": "VolSkewVariance",
                              "searchoptions": {

                              },

                              "index": "VolSkewVariance"
                          },
                          {
                              "name": "PriceVolVariance",
                              "superFilterColumn": "PriceVolVariance",
                              "searchoptions": {

                              },

                              "index": "PriceVolVariance"
                          },
                          {
                              "name": "IrRateVariance",
                              "superFilterColumn": "IrRateVariance",
                              "searchoptions": {

                              },

                              "index": "IrRateVariance"
                          },
                          {
                              "name": "FxRateVariance",
                              "superFilterColumn": "FxRateVariance",
                              "searchoptions": {

                              },

                              "index": "FxRateVariance"
                          },
                          {
                              "name": "CorrVariance",
                              "superFilterColumn": "CorrVariance",
                              "searchoptions": {

                              },

                              "index": "CorrVariance"
                          },
                          {
                              "name": "TimeVariance",
                              "superFilterColumn": "TimeVariance",
                              "searchoptions": {

                              },

                              "index": "TimeVariance"
                          },
                          {
                              "name": "NewTranImpact",
                              "superFilterColumn": "NewTranImpact",
                              "searchoptions": {

                              },

                              "index": "NewTranImpact"
                          },
                          {
                              "name": "SettledTranImpact",
                              "superFilterColumn": "SettledTranImpact",
                              "searchoptions": {

                              },

                              "index": "SettledTranImpact"
                          },
                          {
                              "name": "CancelledTranImpact",
                              "superFilterColumn": "CancelledTranImpact",
                              "searchoptions": {

                              },

                              "index": "CancelledTranImpact"
                          },
                          {
                              "name": "AmendedtranImpact",
                              "superFilterColumn": "AmendedtranImpact",
                              "searchoptions": {

                              },

                              "index": "AmendedtranImpact"
                          },
                          {
                              "name": "PriceResetImpact",
                              "superFilterColumn": "PriceResetImpact",
                              "searchoptions": {

                              },

                              "index": "PriceResetImpact"
                          },
                          {
                              "name": "OptionExerciseImpact",
                              "superFilterColumn": "OptionExerciseImpact",
                              "searchoptions": {

                              },

                              "index": "OptionExerciseImpact"
                          },
                          {
                              "name": "DeltaImpact",
                              "superFilterColumn": "DeltaImpact",
                              "searchoptions": {

                              },

                              "index": "DeltaImpact"
                          },
                          {
                              "name": "GammaImpact",
                              "superFilterColumn": "GammaImpact",
                              "searchoptions": {

                              },

                              "index": "GammaImpact"
                          },
                          {
                              "name": "VegaImpact",
                              "superFilterColumn": "VegaImpact",
                              "searchoptions": {

                              },

                              "index": "VegaImpact"
                          },
                          {
                              "name": "ThetaImpact",
                              "superFilterColumn": "ThetaImpact",
                              "searchoptions": {

                              },

                              "index": "ThetaImpact"
                          },
                          {
                              "name": "RhoImpact",
                              "superFilterColumn": "RhoImpact",
                              "searchoptions": {

                              },

                              "index": "RhoImpact"
                          },
                          {
                              "name": "EtaImpact",
                              "superFilterColumn": "EtaImpact",
                              "searchoptions": {

                              },

                              "index": "EtaImpact"
                          },
                          {
                              "superFilterColumn": "Id",
                              "name": "Id",

                              "searchoptions": {
                                  "searchhidden": true
                              },
                              "hidden": true,
                              "key": true,
                              "index": "Id"
                          }
                                ],
                                viewrecords: true,
                                scrollrows: false,
                                styleUI: Bootstrap,
                                jsonReader: { id: "Id" },
                                rowList : [ 10, 20, 30 ],
                                rowNum: 10,
                                sortorder: asc,
                                hidegrid: false,
                                height: ComputGridHeight(320),
                                autowidth: true,
                                headertitles: true,
                                rownumbers: true,
                                shrinkToFit: false,
                                pager: jQuery(# + subgrid_pager_id),
                                viewsortcols: [false, vertical, true]
                         
                            });

            $("#"+subgrid_id).setGridWidth($(window).width() - 1);

        }
        function PageOnLoad() {
            jQuery(#jq).jqGrid({
                url: /Tran/TranProfitLossImpactManage.aspx?_method=loadDate,
                editurl: /Tran/TranProfitLossImpactManage.aspx?_menuId=17264&jqGridID=jq&editMode=1,
                datatype: json,
                page: 1,
                colNames: ["运行日期"],
                pageSize: 20000,
                colModel: [
                          {
                              
                              width: $(window).width() *0.9,
                              "name": "AsOfDate",
                              "formatter": getDate,
                              "index": "AsOfDate",

                          }
                ],
                 viewrecords: true,
                scrollrows: false,
                styleUI: Bootstrap,
                jsonReader: { id: "Id" },
                rowNum: 20000,
                sortorder: asc,
                hidegrid: false,
                width:800,
                height: ComputGridHeight(180),
                autowidth: true,
                headertitles: true,
                rownumbers: true,
                shrinkToFit: false,
                //pager: jQuery(‘#jq_pager‘),
                viewsortcols: [false, vertical, true],
                loadComplete: JDataGrid.loadComplete,
                subGrid: true,//开启子表格支持 

                //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
                subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
        
                    var obj = $("#jq").jqGrid(getRowData, row_id);
                    bindSubGrid(subgrid_id, obj.AsOfDate);

                }
                //,ondblClickRow: JDataGrid.rowDoubleClick


            });
            $("#jq").setGridWidth($(window).width() - 1);


            //控件按钮设置
            $(".button").linkbutton({ plain: true });
            //参数说明:控件Id,查询地址,编辑页面的宽度,高度,编辑页面标题,新增按钮,编辑按钮,删除按钮,查询按钮,查询回调函数
            JDataGrid.InitGrid("jq", "/TranProfitLossImpact/TranProfitLossImpactEdit.aspx", 600, 400, "交易合约损益归因分析菜单管理", $("#btn_add"), $("#btn_edit"), $("#btn_del"), $("#btn_search"));
        }
    </script>

</body>
</html>

2.后台
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HraWeb.Common;
using WebApp.Common;
using Contract.Domain;
using System.Collections;
using Framework;
using NHibernate.Linq;

namespace HraWeb
{
    public partial class TranProfitLossImpactManage : JQEntityManage<Contract.Domain.TranProfitLossImpact>
    {
        protected override void Page_Load(object sender, EventArgs e)
        {
            //给基类服务接口复制,可不付
            //base.svc = Psvc;
            if (!IsPostBack)
            {

            }
            switch (Request["_method"])
            {
                case "loadDate":
                    var mRows = Dao.GetCurrentSession().QueryOver<TranProfitLossImpact>().List().Distinct(new TranProfitLossImpactDateDistinct()).ToList();
                    int count = mRows.Count;
                    JGridJson d = new JGridJson(1, mRows, 1, count);
                    var json= Newtonsoft.Json.JsonConvert.SerializeObject(d);
                    Response.Write(json);
                    Response.End();
                    break;
                case "loadbydate":
                    DateTime asofDate = DateTime.Parse(Request["asofdate"]);
                    int pageIndex = int.Parse(Request["page"]);
                    int pageSize = int.Parse(Request["rows"]);
                    var totalInfo = new QueryInfo();
                    totalInfo.CustomSQL = "select count(1) from tran_profit_loss_impact t  where t.as_of_date=:as_of_date";
                    totalInfo.Parameters.Add("as_of_date", asofDate);
                    int totalRecordCount = 0;
                    int.TryParse(Dao.ExecuteScare(totalInfo).ToString(), out totalRecordCount);
                    var mchildRows = Dao.GetCurrentSession().Query<TranProfitLossImpact>()
                        .Where(x=>x.AsOfDate==asofDate)
                        .Skip((pageIndex-1)*pageSize)
                        .Take(pageSize)
                        .ToList();
                    int totalPage = ((totalRecordCount - 1) / pageSize) + 1;
                    int mchildcount = mchildRows.Count;
                    JGridJson cd = new JGridJson(totalPage, mchildRows, pageIndex, totalRecordCount);
                    var cjson = Newtonsoft.Json.JsonConvert.SerializeObject(cd);
                    Response.Write(cjson);
                    Response.End();
                    break;
                default:
                    break;
            }
            base.Page_Load(sender, e);
        }
  
    }
}

 

以上是关于jqgrid子表格的主要内容,如果未能解决你的问题,请参考以下文章

jqgrid子表格

jqgrid subGridRowExpanded出来的子表格如何获取选中的行?

jqGrid subGrid配置 如何首次加载动态展开所有的子表格

ASP.net MVC 代码片段问题中的 Jqgrid 实现

Web jquery表格组件 JQGrid 的使用 - 全部代码

jqgrid怎么用js改表格数据