2010-07-01 255 views
1

我在C#窗口应用程序中填充一个DataGridView。我有一个DataTable,我在其中显示从数据库中检索的日期。我的问题是,我从数据库中获取的日期也包含时间信息。例如:Jan 2003 12:00:00 AM。如何仅在Datatable的DataColumn中显示月份和年份?

我想在数据表的单元格中仅显示该日期的年份和月份(2003年1月)。我试图改变当前线程的文化信息,但它没有奏效。有没有其他方法可以实现这一点?

我正在使用MySQLas我的数据库和那里我已设置此列的数据类型为DATE,但我仍然获取此时间信息。任何人都可以解释MySQL的这种行为吗?

+0

如何填充DataGridView? – 2010-07-01 10:19:47

+0

通过将datagridview的datasource属性设置为datatable – Shekhar 2010-07-01 10:21:22

+0

好吧,也许我误解了这一点。但是,如果您将DataGridView的数据源绑定到DataTable(来自数据库),并且显示此信息 - 是不是可以在DataGridView的BoundColumn/TemplateColumn上使用DataFormatString?这意味着你将日期从MySql抽象到DT,然后抽象到处理化妆品的DGV ...... – dooburt 2010-07-01 10:40:35

回答

1

设置Format财产上的列the Month/Year format specifier

// Set the Format property on the "Last Prepared" column to cause 
// the DateTime to be formatted as "Month, Year". 
dataGridView1.Columns["Last Prepared"].DefaultCellStyle.Format = "y"; 
+0

伟大的答案。我知道这已经过时了,但我想添加[this](https://msdn.microsoft.com/zh-cn/library/az4se3k1(v = vs.110).aspx)引用,其中包含所有日期/时间格式。 – AdamMc331 2015-05-21 15:02:21

1

如果你喜欢在SQL级别要做到这一点,你可以在你选择这样做;

select convert(varchar(max),getdate(),107) as thedate 

我总是建议不要抽象数据,让datagridview做化妆品。

相关问题