2009-05-14 7 views
1

DataColumn(この列のデータ型はDateTime)に日付を格納するデータセットがあります。フォーマットをDateTimeから文字列に変更する必要があります。これにより、現在の文化ごとの日付が表示されます。 データセット内のDateTimeデータを文字列に変換

は、単一のDateTime変数の場合は、私は次のようにこれを達成するために、オーバーロードのToString()を使用することができます。

DateTime.Now.ToString(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern) 

しかし、私は文字列に私のDataSet内のすべての行のデータを変換する必要があります。どのように私はこれを達成することができるかについてのアイデアは誰にもありますか?

ありがとうございました。

+0

うわー... DateTime.Now.ToShortDateString()の何が問題なの? ;) – Guffa

答えて

5

その後、パフォーマンスが向上するかどうかわからない:

  • あなたは(あなたのDateTime)を使用して新しい列を移入一つのループで新しいのDataColumn
  • を追加
  • 良いと考えたDataTableを見つけます.ToString()
+1

+1は、別のDataTableではなく、別のDataColumnを提案します。 – Cerebrus

+0

両方お返事ありがとうございます:) –

+0

このメソッドは最後に機能します。おそらく元の列 '' table.Columns.Add( "StrDate"、typeof(String))を削除する必要があるかもしれません。 table.Columns.Add( "EdDate"、typeof(String)); " –

1
  1. データセットを取得します。
  2. 各行は文字列に変換され、 は新しいデータセットに入れられます( の残りのデータと共に)。
0

テーブルの塗りつぶし後に列の種類を変更することはできません。私はあなたのデータセット上に2番目のテーブルを作成し、プロセスの日付を変換する必要がある情報をコピーする必要があると思います。

+0

はい、入力時に変更できません。それで私はクローンとロードをしています。私は、レコードをループするより簡単なアプローチがあるかどうかを判断しようとしています。 –

0

新しい答え:)

私はこのサイトを思い付いたグーグルされています。たとえばあなたが、私はあなたにクエリを使用することができることを推測していたデータセットにLINQを使用する方法を示していLinq to Dataset

データ変換を実行して新しいデータテーブルに配置します。あなたがデータセットを取得すると、それはループ

0

私があなただったら、DataTableにそのままデータを保存します。結局のところ、変換時にその意味を失う意味のあるデータです。私は暗黙のうちにデータを文字列に変換する必要があるので(オプションの書式設定で)、データを表示/レンダリングするときにのみ、任意の変更を行います。

DateTime.Now.ToShortDateString(); 
// Or 
DateTime.Now.ToString("d"); 

この関数は、既に現在の培養に由来するフォーマット情報を使用して:

任意のDateTime変数は、単純なコードを使用(培養感受性フォーマットで)文字列としてレンダリングすることができます。

実際に、データセット自体のデータのデータ型を変更する必要があるかどうかを評価するために、シナリオをもう一度見直すことをお勧めします。 (または私たちに詳細を提供する)

+0

私のデータセットは、データセットからExcelレポートを生成するdllに渡されます。データセットには現在のPCカルチャがあり、日付の時刻形式は希望通りですが、Excelのレポートで必要な形式を取得できません。したがって、データセットの列をreqd形式の文字列に変更するか、または何らかの形でdllコード(会社の誰かがそれを書いたもの)を取得して変更するだけです。 –

+1

その場合、私はMarkoの答えに従ってそれをすることをお勧めします。 – Cerebrus

+0

Ok ...ありがとう:) –