一直在此問題上停留一段時間,現在最終縮小到AllowSorting
爲True
這一事實。當我嘗試運行excel導出進行排序時,excel打開成沒有任何網格線的空白文檔。將其關閉,數據按預期顯示。我認爲,如果我關閉了excel導出按鈕單擊事件中的排序,然後再打開它,這將解決問題,但是這似乎並非如此。禁用Datagrid排序爲excel導出VB.net
我也嘗試轉移關閉頁面排序的位置,以確保我沒有將其放置在錯誤的位置,但仍然沒有改變空白頁面的結果。
下面是我正在使用的編碼。我確實讀了一些關於使用BindingSource
的討論,但這似乎也不適合我。
我錯過了一步或做錯了什麼?
Dim tw As New StringWriter()
Dim hw As New HtmlTextWriter(tw)
Dim frm As HtmlForm = New HtmlForm()
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("content-disposition",
"attachment;filename=" & "Facility Detail Report" & ".xls")
Response.Charset = ""
EnableViewState = False
dgCustomers.AllowPaging = False
dgCustomers.AllowSorting = False
'Dim BindingSource As New BindingSource
'BindingSource.DataSource = dgCustomers.DataSource()
'dgCustomers.DataSource = BindingSource.DataSource
dgCustomers.DataBind()
Controls.Add(frm)
frm.Controls.Add(dgCustomers)
frm.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
dgCustomers.AllowPaging = True
dgCustomers.AllowSorting = True
dgCustomers.DataBind()
什麼是HtmlForm?是某種第三方控制? –
不,它是以下.Net描述的一部分「提供對服務器上的HTML