一直在此问题上停留一段时间,现在最终缩小到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