2012-05-07 35 views
0

だから私は実行時に生成される動的クエリのプレビューデータを保持しているだけでxamDataGridのを含む単純なウィンドウを持って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の中エディタのデータ型が、時にはフィールドのデータ型と一致しないです。たとえば、すべての数値はドル記号で表示されます。この行を追加しようとしました...

ドル記号のないxx.xxxxとして表示される実際の通貨金額を除いて、すべてが固定されています。私が見つけたソリューションはすべて、xamlでフィールドの編集を直接行っているようですが、フィールドはすべて動的なので、これはオプションではありません。 xamlでエディタを正しく設定するためにできることはありますか?または、コード内でデータをマッサージしてXamDataGridから正しく表示するルーチンがありますか? XamDataGridを使用して、すべての動的列と関連する方法で任意のコードを共有できますが、データ型に基づいて正しくフォーマットできますか?

答えて

2

特定のタイプのフィールドに使用されるエディタは、ValueEditor.RegisterDefaultEditorForTypeを使用して設定できます。エディタが正しいタイプで、特定のタイプのマスクを変更する場合は、XamMaskedEditor.RegisterDefaultMaskForTypeを使用します。

同じタイプの異なるフィールドに対して異なるマスクまたはエディタを設定する場合は、FieldLayoutを作成した後でコードでこれを行う必要があります。このためにはFieldLayoutInitialized eventを使用できます。

+0

ValueEditor.RegisterDefaultEditorForTypeメソッドの正確な使い方は?簡単な例へのリンクがありますか? –

+0

この記事には例があります:http://community.infragistics.com/forums/p/33674/183177.aspx#183177 – alhalama

+0

私はちょっと混乱していますが、この例では値エディタクラスが何であるか分かりません。このメソッドをXamDataGridから呼び出すと、エディタ自体の静的メソッドのように見えますが、実際にこの問題をどのように解決できるかはほとんど分かりません。 –

関連する問題