2010-03-04 34 views
10

我使用WPF工具包Datagrid的用LINQ to SQL的WPF Datagrid的時間字段格式爲hh:mm

 <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> 

Time綁定到Time數據類型的SQL Server表場。現在Datagrid上的時間值以hh:mm:ss的格式顯示。

如何將Datagrid的時間列中的時間再抑制改爲hh:mm,移除秒數?

編輯: 使用StringFormat=t沒有給出結果。

<my:DataGridTextColumn Header="Time" MinWidth="70" 
             Binding="{Binding Time, StringFormat=t}" 
             CanUserSort="False" /> 

回答

9
<toolkit:DataGridTextColumn 
        IsReadOnly="True" 
        Width="SizeToCells" 
        Header="F. Resolución" 
        Binding="{Binding ColName, StringFormat=MM/dd/yyyy}" /> 
4

沒有秒

<toolkit:DataGridTextColumn 
        IsReadOnly="True" 
        Width="SizeToCells" 
        Header="F. Resolución" 
        Binding="{Binding ColName, StringFormat='MM/dd/yyyy HH:mm'}" /> 

與秒

<toolkit:DataGridTextColumn 
        IsReadOnly="True" 
        Width="SizeToCells" 
        Header="F. Resolución" 
        Binding="{Binding ColName, StringFormat='MM/dd/yyyy HH:mm:ss'}" /> 

這裏只是時間秒:

<toolkit:DataGridTextColumn 
        IsReadOnly="True" 
        Width="SizeToCells" 
        Header="F. Resolución" 
        Binding="{Binding ColName, StringFormat='HH:mm:ss'}" /> 
+0

這沒有奏效。 – 2014-02-19 21:19:35

+0

另一種解決方案是將TimeSpan(「C#中的timespan2等於sql服務器中的」time「dataType)轉換爲DateTime,然後嘗試上述解決方案! – 2014-02-20 12:11:26

+0

它爲我工作,但我該如何做... StringFormat ='HH:mm:ss'}「在百個小時內不存在? – Kokombads 2015-02-13 09:23:09

0

您需要將您的類型從SQLDATETIME轉換爲DateTime爲了字符串格式工作。通過將您的參數轉換爲datetime來完成此操作。因此,例如,當使用C#來引入你的表。

dlEntry.StartTime = (DateTime)reader.GetSqlDateTime(3); 

這將使您能夠使用C#默認轉換器的時間。

<my:DataGridTextColumn Header="Time" MinWidth="70" 
Binding="{Binding Time, StringFormat=t}" 
CanUserSort="False" /> 
相關問題