因此,我有一个简单的窗口,其中只包含一个XamDataGrid,它保存在运行时生成的动态查询的预览数据……
public partial class DataPreview : Window
{
public DataTable Data { get; set; }
public DataPreview(string SQL)
{
InitializeComponent();
this.DataContext = this;
Data = DatabaseManager.ExecuteQuery(SQL);
}
}我已经将数据绑定到XamDataGrid的数据源...
<igDP:XamDataGrid DataSource="{Binding Data}" ScrollingMode="Immediate">
<igDP:XamDataGrid.FieldSettings>
<igDP:FieldSettings
AllowEdit="False"/>
</igDP:XamDataGrid.FieldSettings>
</igDP:XamDataGrid>现在一切都正常了,问题是XamDataGrid中编辑器的数据类型有时与字段的数据类型不匹配。例如,所有数字都显示有一个美元符号。我试着添加这一行...
EditAsType="{x:Type sys:String}"它修复了除实际货币金额之外的所有问题,实际货币金额现在显示为没有美元符号的xx.xxxx。我在网上找到的所有解决方案似乎都直接在xaml中编辑字段,但由于字段都是动态的,这不是一个选择。要在xaml中正确设置编辑器,我可以做些什么吗?或者我可以在代码中执行的一些例程,以便将数据正确显示在XamDataGrid中?任何人都可以使用XamDataGrid以相关的方式与所有动态列共享任何代码,但能够根据数据类型正确地格式化它们吗?
发布于 2012-05-08 05:27:34
可以使用ValueEditor.RegisterDefaultEditorForType设置用于特定类型字段的编辑器。如果编辑器是正确的类型,并且您希望更改给定类型的掩码,则可以使用XamMaskedEditor.RegisterDefaultMaskForType。
如果您希望为相同类型的不同字段设置不同的掩码或编辑器,则需要在创建FieldLayout后在代码中执行此操作。为此,您可以使用FieldLayoutInitialized event。
https://stackoverflow.com/questions/10488991
复制相似问题