簡體   English   中英

來自devexpress的網格控件列的自動寬度問題

[英]problems with autowidth for columns of a grid control from devexpress

我在桌面應用程序(C#)中使用來自devexpress的網格控件。 我設置了一個數據源然后導出到Excel。我希望我的所有列都采用該列中最長行值的寬度。 在這個網格中,我使用不同的數據源。

在加載形式我設置:

gvExport.OptionsPrint.AutoWidth = false;
gvExport.BestFitColumns();
grdExport.DataSource = ds;

XlsExportOptions vOptions = new XlsExportOptions();
vOptions.TextExportMode = TextExportMode.Text;
vOptions.ShowGridLines = true;
vOptions.SheetName = "Test";

prmFileName = "Test.xls";

grdExport.ExportToXls(prmFileName, vOptions);

我的ds可以是列表或dataTable。

1.有人可以幫我自動調整列的長度嗎?

2.如何設置ladscape我生成的Excel頁面?

謝謝

對於問題的第一部分,您可以使用

GridView.OptionsView.ColumnAutoWidth = true

如果要根據特定列設置寬度,請說明必須在第一列中使用GridView,然后覆蓋函數BestFitColumn和OnColumnWidthChanged。

對於第二部分,您必須使用如下打印系統:

        PrintableComponentLink link = new PrintableComponentLink(new PrintingSystem());
        link.PaperKind = System.Drawing.Printing.PaperKind.A4;
        link.Component = myGridControl;
        link.Landscape = true;

然后使用ExportOption,這里是Xls的一個例子:

 XlsExportOptions _Options1 = new XlsExportOptions();
 _Options1.SheetName = fileName;
 _Options1.ExportMode = XlsExportMode.SingleFile;
 link.ExportToXls(sfd.FileName, _Options1);

注意其他人有XlsxExportOptionsPdfExportOptionsRtfExportOptions

Tou應該知道BestFitColumns()方法迭代數據源的行以計算列的最佳寬度。

因此,您必須在設置數據源后進行設置。

因此,我建議您不要使用此方法並手動設置列的寬度。 實際上, BestFitColumns()方法會大大減慢網格的加載速度(如果要處理> 1k行)。

對於導出到橫向模式,您可能會在此處找到答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM