超网格导出排序/指示器

时间:2016-01-15 11:59:47

标签: infragistics ultragrid

简而言之,我们有一个遗留应用程序,它显示一个用户可以导出网格显示的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)

1 个答案:

答案 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