Лучший отвечающий
Как вывести время в DataGrid в локализованном виде?

Вопрос
-
Есть БД MySQL на сервере. Читаю из неё табличку согласно запроса. Один из столбцов таблицы имеет тип DATETIME.
При выводе в DataGrid получается так: "5/28/2014 3:50:40 PM"
Как сделать нормальный, русский вид?
Пробовал так:
MySqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sCommand; myDataAdapter = new MySqlDataAdapter(cmd); myDataSet = new DataSet(); myDataAdapter.Fill(myDataSet); DataTable table = myDataSet.Tables[0]; DataView dv = table.DefaultView; //foreach (DataColumn dc in dv.Table.Columns) // if (dc.DataType == typeof(DateTime)) // dc.DateTimeMode = DataSetDateTime.Local; dg.ItemsSource = dv;
Не получается, т.к. DateTimeMode нельзя менять, если таблица непуста.
А как быть? Прошу помощи.
- Изменен тип Maksim MarinovMicrosoft contingent staff, Moderator 6 июня 2014 г. 7:39 ThreadInnactive
- Изменен тип Maksim MarinovMicrosoft contingent staff, Moderator 9 июня 2014 г. 10:53
28 мая 2014 г. 10:02
Ответы
-
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 9 июня 2014 г. 10:54
- Помечено в качестве ответа SvarogichRed 10 июня 2014 г. 3:33
9 июня 2014 г. 5:19Отвечающий -
<DataGrid x:Name="dg_Orders" ItemsSource="{Binding}" AutoGenerateColumns="False" Style="{DynamicResource DataGridStyle1}" HorizontalGridLinesBrush="AntiqueWhite" VerticalGridLinesBrush="AntiqueWhite" SelectionUnit="FullRow" SelectionMode="Single"> <DataGrid.Columns> <DataGridTextColumn Header="id" Binding="{Binding id}" Visibility="Collapsed"/> <DataGridTextColumn Header="Начало" Binding="{Binding start_time, StringFormat={}{0:d.MM.yy H:m}}" /> </DataGrid.Columns> </DataGrid>
Спасибо большое!
- Помечено в качестве ответа Алексей ЛосевEditor 10 июня 2014 г. 4:09
10 июня 2014 г. 3:55
Все ответы
-
Не совсем понял на каком этапе вы хотите получить локализованный формат времени.
Если вам нужно где то отобразить дату в виде текста, то идеально подойдет ToString с указанием региональных данных.
Ну еще есть ToShortDateString и ему подобные.
VB.Net - WPF, WinRT, WP
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 9 июня 2014 г. 10:54
8 июня 2014 г. 14:36Отвечающий -
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 9 июня 2014 г. 10:54
- Помечено в качестве ответа SvarogichRed 10 июня 2014 г. 3:33
9 июня 2014 г. 5:19Отвечающий -
<DataGrid x:Name="dg_Orders" ItemsSource="{Binding}" AutoGenerateColumns="False" Style="{DynamicResource DataGridStyle1}" HorizontalGridLinesBrush="AntiqueWhite" VerticalGridLinesBrush="AntiqueWhite" SelectionUnit="FullRow" SelectionMode="Single"> <DataGrid.Columns> <DataGridTextColumn Header="id" Binding="{Binding id}" Visibility="Collapsed"/> <DataGridTextColumn Header="Начало" Binding="{Binding start_time, StringFormat={}{0:d.MM.yy H:m}}" /> </DataGrid.Columns> </DataGrid>
Спасибо большое!
- Помечено в качестве ответа Алексей ЛосевEditor 10 июня 2014 г. 4:09
10 июня 2014 г. 3:55