2016-01-15 50 views
0

簡而言之,我們有一個遺留應用程序,它顯示一個infragistics網格,用戶可以在其中導出網格顯示。我遇到的問題是他們希望導出出現的特定順序,並且如果我在導出之前在網格視圖中設置了訂單,它將保留此訂單,但是如果我試圖強制「導出「,儘管設置它似乎沒有工作。這裏是我的代碼(VB),就像在導入之前可以看到的那樣,我嘗試設置「sortindicator」,但是我懷疑我錯過了一些東西。Ultragrid Export Sort Order/Indicator

  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) 

回答

2

在輸出網格的過程中,UltraGridExcelExporter創建了自己的Layout版本。這完全是爲了讓您在佈局中排序,隱藏,刪除和其他任何操作,而無需更改實際的網格。要按任何列排序網格,您需要處理ExportStarted事件。事件參數包含對克隆佈局的引用。您可以使用如下代碼:

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