您的位置:首页 > 其它

DevExpress XtraGrid 自定义 Bool型 列 Excel 的导出值

2012-04-06 14:31 465 查看
我们在使用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.再调用其方法导出的就改回来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: