彩票走势图

为什么DevExpress GridControl在水平滚动后的数据丢失

原创|其它|编辑:郝浩|2012-05-15 05:00:24.000|阅读 475 次

概述:由于DevExpress GridControl使用了有不同特性的不同类型对象所造成的。出于这个原因,当GridControl试着读取单元格的值时,它会试着获取一个类型的属性值。由于使用了不同类型的对象,所以如果一个基础行对象不包含这个属性的话,属性值将无法获取。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

问题修改前的示例:

问题解决后的示例:

由于DevExpress GridControl使用了有不同特性的不同类型对象所造成的。出于这个原因,当GridControl试着读取单元格的值时,它会试着获取一个类型的属性值。由于使用了不同类型的对象,所以如果一个基础行对象不包含这个属性的话,属性值将无法获取。在这种情况下,应用程序将抛出BindingException,GridControl不能立即更新编辑器的值。

解决这个问题,可以通过使用数值转换器:

public class TypesValueConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
DataItem dataItem = value as DataItem;
if(dataItem != null)
return dataItem.Types;
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
throw new NotImplementedException();
}
}

在这种情况下,需要使用

[XAML]ItemsSource="{Binding Path=RowData.Row, Converter={StaticResource typesValueConverter}}"

[XAML]ItemsSource="{Binding Path=RowData.Row.Types}"

相结合。


(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
标签:DevExpress

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
DevExpress Universal Subscription

行业领先的界面控件开发包,帮助企业构建卓越应用!

DevExpress WPF Subscription

高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。

DevExpress Silverlight Controls

高性价比高实用性的Silverlight用户界面控件套包,拥有大量的示例和帮助文档,开发者能够快速上手!

DevExpress WinForms Subscription

为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。

DevExpress DXperience Subscription

高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP