DevExpress控件使用交流,DevExpress中国社区 售前咨询
当前位置: 首页 > 开发资源 » 常见问答 » DevExpress GridView导出到Excel中不能导出自定义日期

DevExpress GridView导出到Excel中不能导出自定义日期

作者:huhm   来源:本站原创   浏览:Loading...次   发布时间:2012-07-23   评论:0条

问题描述:

我有一个第一列为日期列的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);

技术:.NET

平台:WinForms

产品:XtraGrid Suite(包含在DevExpress WinForms套包中)

控件:GridView

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/DevExpress-Resources/Documentation-161.html

评论列表

暂无评论

请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!

昵称 不填则默认为游客评论

DevExpress DXperience DXv2 v12

DevExpress DXperience 下载 download

DevExpress购买、价格、授权

慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。

电话:400-700-1020
        023-66090381

邮箱:sales@evget.com

>>如何选择正规控件购买渠道