2016-12-03 6 views
1

にのみ、特定の日付フォーマットにDATE列ショー形式の日時をフォーマットするには、 "MM/DD/YYYY HH:MM:SS"どのように、私のdatagridview1でデータテーブル

その後、私はこのコードを使用します。

私はこの

public void load_table() 
{ 
    DataTable ltdgv = getLoad_table(); 
    //the getLoad_table() function return a datatable type and store it to ltdgv 

    foreach (DataRow dr in ltdgv.Rows) 
    { 
     dr["DATE"] = DateTime.Parse((dr["DATE"].ToString())).ToShortDateString(); 
    } 

    dataGridView1.DataSource = ltdgv;   
} 

それでもMM/DD/YYYYの形式を示すDATE列[例:2016年11月27日]のようなDataGridViewの記入する機能を使用

を私がしたいです私は

dr["DATE"] = DateTime.Parse((dr["DATE"].ToString("dd/MM/yyyy"))).ToShortDateString(); 
// I fill a parameter to the .ToString() 

B =中にそれを変更しようとし/ MM/YYYYまたは27/11/2016

をDDにそれを変更私は今 "構文エラー"を取得します。

これはどのように修正するのですか?

答えて

3

datatableのdatetime列の 'format'を変更しようとしないでください。
単純にDateTimeには、それ自身ではフォーマットがありません。

人間が判読可能な形式でこの形式を提示するタスクがある日付を表示するために使用するツールです。

つまり、このタスクを実行する必要があるのはDataGridViewです。

あなただけの出力のToString()、入力しないでカスタムフォーマット

+0

あなたの回答は素晴らしいです、ありがとうございます。 私はこのような質問をしました。私はあなたと同じ答えを見つけられなかったと思います。 –

2

場所を(インデックスゼロでグリッド列があなたの日付の列であると仮定すると)

dataGridView1.Columns[0].DefaultCellStyle.Format = "dd/MM/yyyy"; 

を設定する必要があります。

foreach (DataRow dr in ltdgv.Rows) 
    { 
     dr["DATE"] = DateTime.Parse((dr["DATE"].ToString())).ToString("dd/MM/yyyy"); 
    } 
関連する問題