2010-07-01 272 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做化妝品。

相關問題