2012-01-23 18 views
2

私のコントロールの範囲外のSQL CEデータベースを持っています。フィールドの形式は。、列名のピリオドで終わります。列は常に異なっているので、強い型のデータフィールドを持つことはできません。私は、動的なテーブルデータをDataGridに表示することを任されています。C#/ WPFのDataTableにピリオドを含むフィールドへのバインド

通常、これは簡単です - 列を自動生成するとすべてがクールです。簡単な例。

しかし、私はこれを行うことはできません。列名の文字はバインディングをニュアンスします。

今、私はデータセットに翻訳のレイヤーを追加しようとしています(おそらく、_から_に翻訳された辞書を維持する必要があります)。

私の質問は - が良い方法です?私は、DataTableにSourceColumnNameを持つことができるということについてもう一度思い出しましたが、私はそれを見ませんでした。 「キャプション」がありますが、私はそれにバインドすることはできません...

何か考えていますか?代替のために

+0

です。 – Paparazzi

+0

'動的表データ'に関する追加情報を提供する必要があります。実際にどのデータ構造を使用していますか?はい、BalamBalamが「OnAutoGeneratingColumn」を無効にすることができます。 – doblak

+0

データは生の** DataTable **として戻ってきています。あなたのメソッドはどちらも機能しますが、手元の問題は解決しません。 '。'を含む列名の問題です。 System.WindowsでSystem.Windows.Data.BindingGroup.UpdateValuesで – Locke

答えて

3

あなたは、Microsoftの人々にこの質問を置く場合は、それらが存在する場合にWPFのDataGridには、「サブ・プロパティのデータのマッピング」をサポートしているので、この(問題)があることを教えてくれます\u2024

. dotを置き換えます情報元。このため、. dotは、DataTableに含まれるサブオブジェクトに解決しようとします。

次の行では、. dot_ Underscoreに置き換えて丁寧に尋ねます。

(http://social.msdn.microsoft.com/Forums/en/wpf/thread/7d84c8f2-2709-4642-a259-739036ffd2a6)

しかし、それは解決策や代替でもないのです。

解決策は、コーディングを変更することによってのみ提供されます。

代替として代わりに使用します。 \u2024とこれはあなたがAutoGenerateはをオーバライドできunicode character for C/C++/Java

More on this here

+0

ソリューションのおかげで、私はあなたがセルの編集後にEnterキーを押すと、セルに値を更新したいときyoullのは問題があると思う... () .Data.BindingGroup.UpdateAndValidate(ValidationStep validationStep) これを処理しますか? – stenly

関連する問題