我们在使用DevExpress 的 gridView.ExporttoXls(filename)的时候会发现对于bool型的可编辑列导出的结果是一个checkbox的图片:
如果想要改掉它:
1.加一个repositoryItemCheckEdit1并把它导出模式设为显示值
this.repositoryItemCheckEdit1.ExportMode = DevExpress.XtraEditors.Repository.ExportMode.DisplayText;
//
// gridView1
//
this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.colColumn1,
this.colColumn2});
this.gridView1.GridControl = this.gridControl1;
this.gridView1.Name = "gridView1";
this.gridView1.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gridView1_CustomColumnDisplayText);
//
// colColumn1
//
this.colColumn1.Caption = "Column1";
this.colColumn1.FieldName = "Column1";
this.colColumn1.Name = "colColumn1";
this.colColumn1.Visible = true;
this.colColumn1.VisibleIndex = 0;
//
// colColumn2
//
this.colColumn2.Caption = "Column2";
this.colColumn2.ColumnEdit = this.repositoryItemCheckEdit1;
this.colColumn2.FieldName = "Column2";
this.colColumn2.Name = "colColumn2";
this.colColumn2.Visible = true;
this.colColumn2.VisibleIndex = 1;
//
// repositoryItemCheckEdit1
//
this.repositoryItemCheckEdit1.AutoHeight = false;
this.repositoryItemCheckEdit1.ExportMode = DevExpress.XtraEditors.Repository.ExportMode.DisplayText;
this.repositoryItemCheckEdit1.Name = "repositoryItemCheckEdit1";
2.自定义显示值:
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) {
if(e.Column.FieldName == "Column2") {
if(repositoryItemCheckEdit1.ValueChecked.Equals(e.Value))
e.DisplayText = "Yes";
else if(repositoryItemCheckEdit1.ValueUnchecked.Equals(e.Value))
e.DisplayText = "No";
else
e.DisplayText = "N/A";
}
}
3.再调用其方法导出的就改回来了。

本文介绍了如何解决DevExpress XtraGrid在导出到Excel时,Bool型列显示为复选框图片的问题。通过设置repositoryItemCheckEdit1的ExportMode为DisplayText,并自定义显示值,可以将导出的列内容更改为文本形式。

4436

被折叠的 条评论
为什么被折叠?



