2011-08-24 23 views
1

テクノロジー:のVisual Studio 2008の.NET、WinformsのBindingSourceの使用中に文字列を書式設定するにはどうすればよいですか?

bsTransactions.DataSource = Transactions.Tables[2]; 
bsnTransactions.BindingSource = bsTransactions; 

txtTransOverrideDate.DataBindings.Add("Text", bsTransactions, "TransactionDate", true,DataSourceUpdateMode.Never, "", "MM/dd/yyyy"); 

現在、私は、文字列が認識されたDateTime文字列ではありませんでしたというエラーを取得しています。私は私は

Transactions.Tables[2].Rows[0]["TransactionDate"].DataType.ToString(); 

リターン「のSystem.DateTime」と実際の値が「2010年1月23日午前12:00:00」のように見える

から列の型を取得する場合にもかかわらず現在は「1/23/2010 12:00:00 AM」のように見える文字列をフォーマットして日付のみを表示しようとしています。

catchは、BindingSourceNavigatorが使用されているため、事実が最初の値にのみ適用され、bindingNavigatorを使用してナビゲートされるその他のものは適用されないので、テキストボックスに書式を適用するだけです。

"bsTransactions"を使用してテキストボックスにバインディングを適用すると、データ型が変更されるため、DateTimeとして認識されないという感覚があります。

+0

これはwinformsですか? –

+0

はい。私はそれを反映するために質問を編集しました。 – Christian

+0

問題を再現できません。表示しているコードが動作します。 – LarsTech

答えて

2
txtTransOverrideDate.DataBindings.Add("Text", bsTransactions, "TransactionDate", true,DataSourceUpdateMode.Never, "", "MM/dd/yyyy"); 

オリジナルの投稿に変更を加えてこれを模倣しましたが、これが答えです。

+0

クリスチャン:ありがとう。私はこの問題を解決するための非常に長い探索の後、今これを発見しています。私はデータセット[データテーブル]からの出力をテキストボックスに直接書式設定する方法の多くの例を見つけましたが、あなたの投稿が見つかるまではバインディングソースは何もありません。再度、感謝します。 –

関連する問題