2016-12-03 80 views
1

日期时间到只有特定的日期格式我datagridview1,日期栏显示格式为“MM/DD/YYYY HH:MM:SS”如何格式化DataTable中

然后我用这个代码。

我使用函数来填充一个DataGridView这样

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;   
} 

但DATE列仍然显示格式MM/DD/YYYY [例如:2016年11月27日]

但我想更改为DD/MM/yyyy或27/11/2016

我试图它换成=

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

乙我现在得到一个“语法错误”。

那么,如何解决这个问题呢?

回答

3

不要尝试更改数据表中日期时间列的'格式'。
只是一个DateTime本身没有格式。

这是一个工具,用于显示任务的日期,以便以格式显示格式,无论该格式是什么。

换句话说。 DataGridView必须执行此任务。

你只需要设置

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

(假设在指数为零网格列是你的日期列)

+0

您的回答非常好,谢谢。 我搜索了这样一个问题,我不认为我找到了和你一样的答案。 –

2

放入输出的ToString(自定义格式),而不是输入。

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