2010-07-01 4 views
1

C# Windows 응용 프로그램에서 하나의 DataGridView를 채우고 있습니다. 하나의 DataTable에서 데이터베이스에서 검색 한 날짜를 표시하고 있습니다. 내 문제는 데이터베이스에서 가져 오는 날짜도 시간 정보를 포함한다는 것입니다. 예 : Jan 2003 12:00:00 AM.Datatable의 DataColumn에 월 및 연도 만 표시하는 방법?

해당 날짜의 년과 월 (2003 년 1 월) 부분 만 데이터 테이블의 셀에 표시하려고합니다. 현재 스레드의 culture 정보를 변경하려고했지만 작동하지 않았습니다. 이것을 달성 할 다른 방법이 있습니까?

MySQLas 데이터베이스를 사용하고 있는데이 열의 데이터 유형을 DATE로 설정했지만이 시간 정보를 얻는 중입니다. 누구든지 MySQL의이 동작을 설명 할 수 있습니까?

+0

DataGridView는 어떻게 채우고 있습니까? –

+0

datagridview의 datasource 속성을 datatable로 설정하여 – Shekhar

+0

Ok, 아마도 이것을 오해하고 있습니다. 그러나 DataGridView의 데이터 소스를 DB의 DataTable에 바인딩하고이 정보를 표시하는 경우 DataGridView의 BoundColumn/TemplateColumn에서 DataFormatString을 사용할 수 없습니까? 이것은 MySql에서 DT까지의 날짜를 추상화 한 다음 화장품을 처리하는 DGV에 이르는 것을 의미합니다. – dooburt

답변

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/en-us/library/az4se3k1(v=vs.110) .aspx) 레퍼런스를 추가하고 싶다. 형식. – AdamMc331

1

당신이 SQL 수준에서이 작업을 수행하려는 경우, 당신은 당신의 선택이 작업을 수행 할 수 있습니다;

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

데이터를 추상화하지 않고 datagridview에 화장품을 맡기는 것이 좋습니다.

관련 문제