日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
jQuery之導(dǎo)出Wijmo的GridView到Excel

Wijmo GridView 控件不提供導(dǎo)出Excel文件的方法。本篇博客介紹一種將Wijmo的GridView控件保存到Excel的簡單方法。你可以使用同樣的方法在C1 WebUI GridView上。

創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元晉州做網(wǎng)站,已為上家服務(wù),為晉州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

步驟1 : C1GridView綁定至數(shù)據(jù)源

***步是將C1GridView綁定到數(shù)據(jù)源。為了簡單起見,我們將其綁定到C1Nwind.mdb的Customers表。

步驟2 : 導(dǎo)出C1GridView Excel

導(dǎo)出到Excel需要分成兩步。***步是將GridView保存至一個(gè)HTML字符串。

Web控件有一個(gè)RenderControl()方法可以將服務(wù)器端控件的內(nèi)容輸出到指定的HtmlTextWriter對象。如果啟用了Tracing,該方法還將存儲控件的Trace信息。然后該HtmlTextWriter對象輸出到一個(gè)StringWriter 對象。

下面的方法被用來創(chuàng)建一個(gè)字符串:

  
 
 
 
  1. Public Function DataGridToExcel(ByVal dgExport As C1.Web.Wijmo.Controls.C1GridView.C1GridView) As String  
  2.  
  3.     '創(chuàng)建一個(gè)stringwriter  
  4.  
  5.     Dim stringWrite As New System.IO.StringWriter()  
  6.  
  7.     '創(chuàng)建一個(gè)使用該stringwriter的htmltextwriter  
  8.  
  9.     Dim htmlWrite As New System.Web.UI.HtmlTextWriter(stringWrite)  
  10.  
  11.     Dim dg As C1.Web.Wijmo.Controls.C1GridView.C1GridView  
  12.  
  13.     'just set the input datagrid = to the new dg grid  
  14.  
  15.     dg = dgExport  
  16.  
  17.     '將header的字體加粗  
  18.  
  19.     dg.HeaderStyle.Font.Bold = True  
  20.  
  21.     '如果需要,這里是在組件級別改變顏色/格式  
  22.  
  23.     dg.HeaderStyle.ForeColor = System.Drawing.Color.Black  
  24.  
  25.     dg.RowStyle.ForeColor = System.Drawing.Color.Black  
  26.  
  27.     '綁定修改后的datagrid  
  28.  
  29.     '告訴datagrid將自己呈現(xiàn)到我們提供的htmltextwriter  
  30.  
  31.     dg.AllowSorting = False  
  32.  
  33.     dg.AllowPaging = False  
  34.  
  35.     dg.AllowCustomPaging = False  
  36.  
  37.     '新的代碼  
  38.  
  39.     Dim parent As Control = dg.Parent  
  40.  
  41.     parent.Controls.Remove(dg)  
  42.  
  43.     dg.RenderControl(htmlWrite)  
  44.  
  45.     '新的代碼  
  46.  
  47.     parent.Controls.Add(dg)  
  48.  
  49.     '輸出HTML  
  50.  
  51.     Return stringWrite.ToString()  
  52.  
  53. End Function 

下一步,我們將在一個(gè)Button Click事件中調(diào)用這個(gè)DownloadToExcel 方法從保存的字符串創(chuàng)建一個(gè)excel文件。

   

   
 
 
 
  1. Public Sub DownloadToExcel(ByVal content As String, ByVal response As HttpResponse)  
  2.  
  3. '清理 response.object  
  4.  
  5. response.Clear()  
  6.  
  7. response.Buffer = True  
  8.  
  9. response.Charset = "" 
  10.  
  11. '設(shè)置響應(yīng)的MIME類型為excel  
  12.  
  13. response.ContentType = "application/vnd.ms-excel" 
  14.  
  15. response.ContentEncoding = New System.Text.UTF8Encoding()  
  16.  
  17. response.Write(content)  
  18.  
  19. response.End()  
  20.  
  21. End Sub 

實(shí)現(xiàn)時(shí)的問題

在相當(dāng)多的情況下,你會在導(dǎo)出時(shí)遇到一些錯(cuò)誤。你可能會收到一條錯(cuò)誤信息:“RegisterForEventValidation 只能在Render()過程中被調(diào)用;”。在這種情況下,請嘗試以下方法

1. 你可以向下面的文章描述的那樣,重載VerifyRenderingInServerForm 方法:

http://connect.microsoft.com/VisualStudio/feedback/details/118285/rendercontrol-doesnt-work-for-gridview

Public Overrides Sub VerifyRenderingInServerForm(control As Control)

End Sub

2. 為了避免收到“RegisterForEventValidation 只能在Render()過程中被調(diào)用;”異常,可以關(guān)閉Page.EnableEventValidation 或者將RenderControl方法調(diào)用放置在一個(gè)try-catch塊中。

此外,如果gridview包含一個(gè)復(fù)選框或者一個(gè)模板列,你會收到上面的錯(cuò)誤。目前已發(fā)現(xiàn)微軟發(fā)布的GridView會發(fā)生同樣的錯(cuò)誤。由于C1GridView繼承自微軟發(fā)布的GridView,所以它是C1GridView的已知設(shè)計(jì)問題。

下載示例

Wijmo下載,請進(jìn)入Studio for ASP.NET Wijmo 2012 v1正式發(fā)布(2012.03.22更新)!

原文鏈接:http://www.cnblogs.com/powertoolsteam/archive/2012/04/25/2469717.html

責(zé)任編輯:張偉
來源: 葡萄城控件技術(shù)團(tuán)隊(duì)的博客 jQuery


網(wǎng)頁標(biāo)題:jQuery之導(dǎo)出Wijmo的GridView到Excel
新聞來源:http://www.5511xx.com/article/dpiicji.html