简而言之,我们有一个遗留应用程序,它显示一个用户可以导出网格显示的infragistics网格。我遇到的问题是他们希望导出的特定顺序,如果我在导出之前在网格视图中设置顺序,它会保留此顺序,但是如果我尝试强迫它"在导出",尽管尝试设置它似乎不起作用。这是我的代码(VB),正如您在导入之前所看到的那样我尝试设置" sortindicator",但我怀疑我错过了什么。
Dim FileName As String
Dim I As Integer
I = 1
FileName = "C:\ReconciliationReport.xls"
While System.IO.File.Exists(FileName)
FileName = "C:\ReconciliationReport_" & I & ".xls"
I = I + 1
End While
grdReconciliationReport.DisplayLayout.Bands(0).Columns("ReconciliationOrder").SortIndicator = Infragistics.Win.UltraWinGrid.SortIndicator.Ascending
UltraGridExcelExporter.Export(grdReconciliationReport, FileName)
答案 0 :(得分:2)
在导出网格期间,UltraGridExcelExporter会创建自己的Layout副本。这样做完全允许您在布局中排序,隐藏,删除和任何其他操作,而无需更改实际网格。要按任何列对网格进行排序,需要处理ExportStarted事件。 event参数包含对clonned布局的引用。您可以使用以下代码:
Private Sub UltraGridExcelExporter_ExportStarted(sender As Object, e As ExcelExport.ExportStartedEventArgs) Handles UltraGridExcelExporter1.ExportStarted
Dim sortedCol As UltraGridColumn = e.Layout.Bands(0).Columns(1)
e.Layout.Bands(0).SortedColumns.Add(sortedCol, False, False)
End Sub