原創|其它|編輯:郝浩|2012-07-24 03:45:32.000|閱讀 1773 次
概述:我有一個第一列為日期列的GridView。它在運行時會綁定到日期,但他們通過CustomColumnDisplayText事件定制類似下面的季度和全年格式轉換的日期
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
問題描述:
我有一個第一列為日期列的GridView。它在運行時會綁定到日期,但他們通過CustomColumnDisplayText事件定制類似下面的季度和全年格式轉換的日期:
[C#]
private void gvwMargin_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
// Change the colDate column for quarter only since there is no built-in format.
if (sDisplayType == Constants.DISPLAYBY_QUARTERLY)
{
if (e.Column.Name == "colDate")
{
DateTime date = Convert.ToDateTime(e.Value);
int quarterNumber = (date.Month - 1) / 3 + 1;
e.DisplayText = string.Format("Q{0} {1}", quarterNumber, date.Year);
}
}
}
然而,當我將GridView導出為xls或xlsx格式時,返回綁定到網格的日期列丟失了格式,顯示的是實際日期。我怎樣才能在將網格導出為xls或xlsx時自定義日期并保持它?當我將網格導出為PDF或HTML格式時日期似乎并沒有發生變化。
問題解答:
改變CustomColumnDisplayText只能影響顯示的文字,并不會改變數據源的值。 默認情況下,GridControl導出的是數據字段值,而不是顯示的文字。為了解決這個問題,您可以將導出數據作為一個字符串,通過將TextExportMode對象的XlsExportOptions屬性設置為文本即可實現。
[C#]
XlsExportOptions options = new XlsExportOptions();
options.TextExportMode = TextExportMode.Text;
gridControl1.ExportToXls("File.xls", options);