aspxgridview export导出数据,把true显示成‘是’
项目原因,数据库中的数据是‘true’还有‘false’,但是在页面上要显示为‘是否’,导出来的时候也是要显示成‘是否’
要在web页面当中显示成‘是否’,只要在gridview的CustomColumnDisplaytext事件中邪代码就可以了,如:
protected void grid_CustomColumnDisplayText(object sender, ASPxGridViewColumnDisplayTextEventArgs e) {//add by huang 用来把数据库中的true转换成是/否 if (e.Column.FieldName == "是否超期") { if ((Boolean)e.Value == true) { e.DisplayText = "是"; } else { e.DisplayText = "否"; } } }
但是单独这样写的话,在页面上显示是没有任何问题的,导出的pdf文件中也会显示成‘是否’,但是在excel中却依然是‘true’还有‘false’,昨天郁闷了一天,今天突然在DEV官网上看到了这样的问题
http://www.devexpress.com/Support/Center/Question/Details/Q509763
要在export控件的RenderBrick事件中写
如:
protected void Exporter_RenderBrick(object sender, DevExpress.Web.ASPxGridView.Export.ASPxGridViewExportRenderingEventArgs e) {//为了在导出的文件中把true显示成'是',如果单独在CustomColumnDisplayText中设置displaytext成‘是’,只能在pdf中正常显示,在excel没效果 GridViewDataColumn datacolumn = e.Column as GridViewDataColumn; if (e.RowType == GridViewRowType.Data && datacolumn != null && datacolumn.FieldName == "是否超期") { if ((Boolean)e.Value == true) { e.Text = "是"; e.TextValue = e.Text; } else { e.Text = "否"; e.TextValue = e.Text; } } }
这样在两个事件中分别写上之后就完全OK了!
年轻过得闲,以后被人嫌...
年轻累不死....