我正在使用ultrawebgrid v11.1
xmlLoadOnDemand
并启用分页以加载超过 100,000 条记录。
我在事件中编写BindGrid()
了功能。InitializeDataSource
在每个回发(保存、ExcelExport、Load..)和/或部分回发(页面导航、排序、过滤..)中,我从数据库中获取超过 100,000 条记录并设置网格的数据源。
问题一:
每次从数据库中查询大量数据都需要更多时间。有没有办法只查询一次on load
数据,然后在修改网格中的数据时查询数据。
问题 2:
我正在使用UltrawebgridExcelExporter v11.1
. 单击导出按钮后,Grid 的数据源在内部初始化InitializeDataSource
,从数据库中获取超过 100,000 条记录。
我必须知道,当LoadOnDemand
设置xml时,每次我导出到excel时,我都应该设置
AllowPaging = False
and
LoadOndemand = LoadOnDemand.NotSet
然后绑定网格并导出。
从数据库中获取大量数据需要很长时间,而绑定则需要更长的时间。绑定后,导出到excel时抛出'System Out of Memory'
异常。
问题 3:
即使解决了上述问题,我也不确定是否能够在 Excel 97-2003 中导出超过 65535 行?
如何使用 xml 优化网格的所有操作的性能LoadOnDemand
。
代码:
Protected Sub UWGrid_InitializeDataSource(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.UltraGridEventArgs) Handles UWGrid.InitializeDataSource
UWGrid.DataSource = dsData 'record set with 100000 rows.
End Sub
Protected Sub btnExportToExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportToExcel.Click
UWGrid.DisplayLayout.Pager.AllowPaging = False
UWGrid.DisplayLayout.LoadOnDemand = LoadOnDemand.NotSet
UWGrid.DataBind()
'Dim wBook As New Excel.Workbook(Excel.WorkbookFormat.Excel2007)
UltraWebGridExcelExporter1.DownloadName = "ExportFile.xls"
UltraWebGridExcelExporter1.Export(UWGrid)
End Sub