FineUI 官方论坛

标题: 同一页面2个或多个GRID分别显示汇总行问题 [打印本页]

作者: treedun    时间: 2013-12-3 11:09
标题: 同一页面2个或多个GRID分别显示汇总行问题
如题,示例中的效果我已经实现了,问题是再加一个GRID显示汇总行,复制了一份JS代码并修改,结果就是只有一个GRID显示汇总,如果注释掉其中一个,另一个是可以正常显示的,我对JS,CSS不太熟悉,难道还要再复制一份CSS修改?请大家帮忙看下,解决了的话请三石兄在示例中添加一下吧,多GRID汇总的例子,相信很多人会用到,谢谢了
  1.         private void OutputSummaryDataGrid1()
  2.         {
  3.             if (dtGrid1 != null && dtGrid1.Rows.Count > 0)
  4.             {
  5.                 decimal donateTotal = 0;
  6.                 foreach (DataRow row in dtGrid1.Rows)
  7.                 {
  8.                     donateTotal += Math.Round(Convert.ToDecimal(row["fg_zongjin_e"]), 2);
  9.                 }

  10.                 JObject jo = new JObject();
  11.                 jo.Add("donateTotal", donateTotal);

  12.                 hfGrid1Summary.Text = jo.ToString(Newtonsoft.Json.Formatting.None);
  13.             }
  14.             else
  15.             {
  16.                 hfGrid1Summary.Text = "0";
  17.             }
  18.         }
  19.         private void OutputSummaryDataGrid2()
  20.         {
  21.             if (dtGrid2 != null && dtGrid2.Rows.Count > 0)
  22.             {
  23.                 decimal donateTotal = 0;
  24.                 foreach (DataRow row in dtGrid2.Rows)
  25.                 {
  26.                     donateTotal += Math.Round(Convert.ToDecimal(row["rm_zongjin_e"]),2);
  27.                 }

  28.                 JObject jo = new JObject();
  29.                 jo.Add("donateTotalRM", donateTotal);

  30.                 hfGrid2Summary.Text = jo.ToString(Newtonsoft.Json.Formatting.None);
  31.             }
  32.             else
  33.             {
  34.                 hfGrid2Summary.Text = "0";
  35.             }
  36.         }
复制代码


[attach]3840[/attach]
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="waihuishuju.aspx.cs" Inherits="EmptyProjectNet40.waihuishuju" %>

  2. <!DOCTYPE html>
  3. <html>
  4. <head runat="server">
  5.     <title></title>
  6.     <link href="~/css/main.css" rel="stylesheet" type="text/css" />
  7.     <style type="text/css">
  8.         .mygrid-row-summary.x-grid3-row
  9.         {
  10.             background-color: #efefef !important;
  11.             background-image: none !important;
  12.             border-color: #fff #ededed #ededed !important;
  13.             visibility: hidden;
  14.         }
  15.         .mygrid-row-summary.x-grid3-row .x-grid3-td-numberer, .mygrid-row-summary.x-grid3-row .x-grid3-td-checker
  16.         {
  17.             background-image: none !important;
  18.         }
  19.         .mygrid-row-summary.x-grid3-row .x-grid3-td-numberer .x-grid3-col-numberer, .mygrid-row-summary.x-grid3-row .x-grid3-td-checker .x-grid3-col-checker
  20.         {
  21.             display: none;
  22.         }
  23.         .mygrid-row-summary.x-grid3-row td
  24.         {
  25.             font-size: 14px;
  26.             line-height: 16px;
  27.             font-weight: bold;
  28.             color: red;
  29.         }
  30.     </style>
  31. </head>
  32. <body>
  33.     <form id="form1" runat="server">
  34.     <x:PageManager ID="PageManager1" AutoSizePanelID="Panel7" runat="server" />
  35.     <x:Panel ID="Panel7" runat="server" EnableBackgroundColor="true" BodyPadding="3px"
  36.         EnableLargeHeader="true" Title="Panel" ShowBorder="false" ShowHeader="True" Layout="VBox"
  37.         BoxConfigAlign="Stretch">
  38.         <Items>
  39. <x:Panel ID="Panel8" ShowBorder="True" ShowHeader="True" BoxFlex="1" Layout="Fit"
  40.                 runat="server" Title="RM进口数据">

  41.                     <x:Grid ID="Grid2" Title="RM进口数据" PageSize="80" ShowBorder="true" AllowPaging="true"
  42.                         ShowHeader="False" runat="server" EnableCheckBoxSelect="False" AutoHeight="true"
  43.                         DataKeyNames="Id" EnableRowNumber="True" IsDatabasePaging="true" OnPageIndexChange="Grid2_PageIndexChange"
  44.                         EnableMultiSelect="false" EnableRowSelectEvent="true" AllowSorting="true" SortColumnIndex="0"
  45.                         SortDirection="DESC"  OnSort="Grid2_Sort">
  46.                         <Columns>
  47.                             <x:BoundField Width="20px" DataField="id" SortField="id" DataFormatString="{0}" HeaderText="id" Hidden="True" HideMode="Offsets" />                     

  48.                             <x:BoundField Width="150px" DataField="rm_ieguandanhao" ColumnID="rmieguandanhao"  SortField="rm_ieguandanhao" DataFormatString="{0}" HeaderText="报关单号" />
  49.                             <x:BoundField Width="100px" DataField="rm_bizhi"   SortField="rm_bizhi" DataFormatString="{0}" HeaderText="成交币种" />
  50.                             <x:BoundField Width="100px" DataField="rm_zongjin_e"  ColumnID="rmzongjine"   SortField="rm_zongjin_e" DataFormatString="{0}" HeaderText="成交总价($)" />
  51.                         </Columns>
  52.                     </x:Grid>
  53. <font color="#ff8c00">                    <x:HiddenField runat="server" ID="hfGrid2Summary"> </x:HiddenField></font>
  54.                 </Items>
  55.             </x:Panel>

  56.             <x:Panel ID="Panel1" ShowBorder="True" ShowHeader="true" BoxFlex="1" Layout="Fit"
  57.                 runat="server" Title="FG出口数据">
  58.                 <Toolbars>
  59.                     <x:Toolbar ID="Toolbar1" runat="server">

  60.                     <x:Grid ID="Grid1" Title="FG出口数据" PageSize="80" ShowBorder="true" AllowPaging="true"
  61.                         ShowHeader="False" runat="server" EnableCheckBoxSelect="False" AutoHeight="true"
  62.                         DataKeyNames="Id" EnableRowNumber="True" IsDatabasePaging="true" OnPageIndexChange="Grid1_PageIndexChange"
  63.                         EnableMultiSelect="false" EnableRowSelectEvent="true" AllowSorting="true" SortColumnIndex="0"
  64.                         SortDirection="DESC"  OnSort="Grid1_Sort">
  65.                         <Columns>
  66. <x:BoundField Width="150px" DataField="fg_ieguandanhao" ColumnID="fgieguandanhao"  SortField="fg_ieguandanhao"  DataFormatString="{0}" HeaderText="报关单号" />
  67.                             <x:BoundField Width="100px" DataField="fg_bizhi" SortField="fg_bizhi"  DataFormatString="{0}" HeaderText="成交币种" />
  68.                             <x:BoundField Width="100px" DataField="fg_zongjin_e" ColumnID="fgzongjine"   SortField="fg_zongjin_e"  DataFormatString="{0}" HeaderText="成交总价($)" /
  69.                         </Columns>
  70.                     </x:Grid>
  71. <font color="#ff8c00">                        <x:HiddenField runat="server" ID="hfGrid1Summary"> </x:HiddenField></font>
  72.                 </Items>
  73.             </x:Panel>
  74.         </Items>
  75.     </x:Panel>
  76.     </form>
  77. <script type="text/javascript">

  78. <font color="#0000ff">    var gridClientID = '<%= Grid1.ClientID %>';
  79.     var gridSummaryID = '<%= hfGrid1Summary.ClientID %>';</font>

  80.     function calcGridSummary(grid) {
  81.         var donateTotal = 0, store = grid.getStore(), view = grid.getView(), storeCount = store.getCount();

  82.         // 超出限制删掉了一部分

  83.     // 页面第一个加载完毕后执行的函数
  84.     function onReady() {
  85.         var grid = X(gridClientID);
  86.         grid.addListener('viewready', function () {
  87.             calcGridSummary(grid);
  88.         });

  89.         // 防止选中合计行
  90.         grid.getSelectionModel().addListener('beforerowselect', function (sm, rowIndex, keepExisting, record) {
  91.             if (Ext.get(grid.getView().getRow(rowIndex)).hasClass('mygrid-row-summary')) {
  92.                 return false;
  93.             }
  94.             return true;
  95.         });
  96.     }

  97.     // 页面AJAX回发后执行的函数
  98.     function onAjaxReady() {
  99.         var grid = X(gridClientID);
  100.         calcGridSummary(grid);
  101.     }
  102.     </script>


  103. <script type="text/javascript">

  104. <font color="#0000ff">    var gridClientIDRM = '<%= Grid2.ClientID %>';
  105.     var gridSummaryIDRM = '<%= hfGrid2Summary.ClientID %>';</font>

  106.     function calcGridSummaryRM(grid) {
  107.         var donateTotal = 0, store = grid.getStore(), view = grid.getView(), storeCount = store.getCount();

  108.         // 超出限制,删掉了一部分

  109.         // 向容器节点添加合计行的副本
  110.         viewportNode.appendChild(clonesummaryNode);

  111.     }

  112.     // 页面第一个加载完毕后执行的函数
  113.     function onReady() {
  114. <font color="#0000ff">        var gridRM = X(gridClientIDRM);
  115.         gridRM.addListener('viewready', function () {
  116.             calcGridSummaryRM(gridRM);</font>
  117.         });

  118.         // 防止选中合计行
  119.         gridRM.getSelectionModel().addListener('beforerowselect', function (sm, rowIndex, keepExisting, record) {
  120.             if (Ext.get(gridRM.getView().getRow(rowIndex)).hasClass('mygrid-row-summary')) {
  121.                 return false;
  122.             }
  123.             return true;
  124.         });
  125.     }

  126.     // 页面AJAX回发后执行的函数
  127.     function onAjaxReady() {
  128. <font color="#0000ff">        var gridRM = X(gridClientIDRM);
  129.         calcGridSummaryRM(gridRM);</font>
  130.     }
  131.     </script>


  132. </body>
  133. </html>
复制代码




作者: treedun    时间: 2013-12-4 09:40
高手们帮看看啊,谢谢了啊,客户急需 5




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4