C# Ultragrid基础设施excel导出导出UltraDropDownList值成员非DisplayMember

C# Ultragrid基础设施excel导出导出UltraDropDownList值成员非DisplayMember,c#,excel,infragistics,ultrawingrid,C#,Excel,Infragistics,Ultrawingrid,我正在使用Infragistics.Documents.Excel将UltraGrid导出到Excel。网格包含各种列,其中一列是绑定到数据源的DropDownList类型。但是,当它导出到Excel时,它会很好地显示列,但是Excel字段中的数据是ValueMember(例如1、2、3、4),而不是DisplayMember(例如“Book”)。有人知道解决这个问题的方法吗 谢谢,您可以处理UltraGridExcelExporter组件的ExportedStarted事件,其中创建了Ultr

我正在使用Infragistics.Documents.Excel将UltraGrid导出到Excel。网格包含各种列,其中一列是绑定到数据源的DropDownList类型。但是,当它导出到Excel时,它会很好地显示列,但是Excel字段中的数据是ValueMember(例如1、2、3、4),而不是DisplayMember(例如“Book”)。有人知道解决这个问题的方法吗


谢谢,

您可以处理UltraGridExcelExporter组件的ExportedStarted事件,其中创建了UltraGrid布局的副本,获取您知道的值列表,并将每个项目集显示成员的数据值转换为字符串

private void ultraGridExcelExporter1_ExportStarted(object sender, Infragistics.Win.UltraWinGrid.ExcelExport.ExportStartedEventArgs e)
{
        ValueList valueList = e.Layout.Bands[0].Columns[0].ValueList as ValueList;

        foreach (var item in valueList.ValueListItems)
        {
            item.DisplayText = item.DataValue.ToString();
        }
}

我使用了下面的解决方法,用这个DropDownList的文本值填充另一个隐藏列,隐藏DropDownList列,并在导出网格之前显示隐藏的文本列。