Reputation: 17055
I use a WPF Toolkit Datagrid with a LINQ to SQL
<my:DataGrid AutoGenerateColumns="False" Name="dataGrid2">
<my:DataGrid.Columns>
<my:DataGridTextColumn Header="Date" MinWidth="80"
Binding="{Binding Date, StringFormat=d}"
CanUserSort="False"/>
<my:DataGridTextColumn Header="Time" MinWidth="70"
Binding="{Binding Time}"
CanUserSort="False" />
<my:DataGridTextColumn Header="Description" MinWidth="200"
Binding="{Binding Description}"
CanUserSort="False"/>
</my:DataGrid.Columns>
</my:DataGrid>
Column Time
is bound to a SQL Server table field of a Time
datatype. Now time value on the Datagrid is displayed in a format hh:mm:ss.
How could I change a time represantation in the Time column of a Datagrid to hh:mm, removing seconds?
EDIT:
Using StringFormat=t
gives no result.
<my:DataGridTextColumn Header="Time" MinWidth="70"
Binding="{Binding Time, StringFormat=t}"
CanUserSort="False" />
Upvotes: 11
Views: 18506
Reputation: 291
You will need to convert your type from SqlDateTime to DateTime in order for the string format to work. Do this by casting your parameter to datetime. So for example when using c# to bring in your table.
dlEntry.StartTime = (DateTime)reader.GetSqlDateTime(3);
This will give you the ability to use the C# default converter for time.
<my:DataGridTextColumn Header="Time" MinWidth="70"
Binding="{Binding Time, StringFormat=t}"
CanUserSort="False" />
Upvotes: 0
Reputation: 1127
without seconds
<toolkit:DataGridTextColumn
IsReadOnly="True"
Width="SizeToCells"
Header="F. Resolución"
Binding="{Binding ColName, StringFormat='MM/dd/yyyy HH:mm'}" />
with seconds
<toolkit:DataGridTextColumn
IsReadOnly="True"
Width="SizeToCells"
Header="F. Resolución"
Binding="{Binding ColName, StringFormat='MM/dd/yyyy HH:mm:ss'}" />
here is only time with seconds:
<toolkit:DataGridTextColumn
IsReadOnly="True"
Width="SizeToCells"
Header="F. Resolución"
Binding="{Binding ColName, StringFormat='HH:mm:ss'}" />
Upvotes: 4
Reputation: 91
<toolkit:DataGridTextColumn
IsReadOnly="True"
Width="SizeToCells"
Header="F. Resolución"
Binding="{Binding ColName, StringFormat=MM/dd/yyyy}" />
Upvotes: 9
Reputation: 4585
Can be done using ValueConverter:
This can help: Built-in WPF IValueConverters
Upvotes: 2