程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 對FineU框架Grid多表頭合計行導出Excel的回顧,fineugrid

對FineU框架Grid多表頭合計行導出Excel的回顧,fineugrid

編輯:C#入門知識

對FineU框架Grid多表頭合計行導出Excel的回顧,fineugrid


  年前用FineUI開發遇到了這樣一個問題,Grid多表頭合計行不能導出,後面到官方示例找了一下,慶幸的是找到了多表頭的導出示例。然後當時為了省事,直接就復制粘貼完事,也沒有仔細的研究代碼。後來運行一看,多表頭的問題是解決了,合計行的問題還是沒有解決。

  由於到時要趕流程這個問題就暫時的放在了那裡,時間長了也忘了這個問題,這個星期項目測試驗收才重新發現這個問題(還好客戶沒有發現,偷笑)。昨天不經意間調試了下,發現count只有16條數據,加上合計行應該有17條數據才對啊。仔細看了下代碼原來官方示例上的代碼根本就沒有寫導出合計行的代碼。

  找出問題就好辦了,整理下思路,首先要拿到合計行的數據保存為Json,然後拿到Grid所有列的ID,最後判斷合計行Json是否存在這個ID的節點,如果有就寫入數據沒有就寫入空

  下面附上代碼

 1 sb.Append("<tr>");
 2             JObject summarty = grid.SummaryData;//獲取合計行數據
 3             if (summarty != null && summarty.ToString() != "")//判斷合計行數據是否為空
 4             {
 5                 foreach (GridColumn column in mht.Columns)//遍歷出列的id
 6                 {
 7                     if (summarty.Property(column.ColumnID.ToString()) == null || summarty.Property(column.ColumnID.ToString()).ToString() == "")//判斷合計行Json是否存在該節點
 8                     {
 9                         sb.AppendFormat("<td>{0}</td>", "");//如果沒有就為空
10                     }
11                     else
12                     {
13                         sb.AppendFormat("<td>{0}</td>", summarty[column.ColumnID.ToString()].ToString());//如果有就寫入數據
14                     }
15                 }
16             }
17             sb.Append("</tr>");

  至於多表頭的導出我就不解釋也不附上代碼了,直接引用三石大大的博客。http://www.cnblogs.com/sanshi/p/4104411.html

  

  第一次寫博客寫的不好,有問題的地方希望大家能夠指出,非常感謝!作為新人,在此給各位前輩問好,希望各位前輩多多指教。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved