2012-06-06 3 views
2

저는 Month and Day뿐만 아니라 Year를 고려하여 Date of Birth 칼럼을 여러 가지 방법으로 검색하고 시도했습니다.전체 날짜로 WPFToolkit.DataGridTextColumn을 어떻게 포맷 할 수 있습니까?

나는 그렇게하기가 어렵다고 생각하지 않습니다.

"MM/dd/yyyy"문자열을 DateTime으로 변환하고 '/'문자가없는 문자열로 변환하고 연도가있는 문자열로 변환 된 여러 유형 변환기를 만들었습니다. "yyy/MM/dd "입니다. 마지막으로 실제로 작동했지만 날짜가 "MM/dd/yyyy"형식으로 표시되어야하므로 사용할 수 없습니다.

그 단일 열에 Custon 정렬 (ICoparable)을 쉽게 구현할 수있는 방법을 찾을 수 없습니다.

또한 스택 오버플로 및 기타 사이트를 검색했으며 답변을 찾을 수 없다는 것에 매우 놀랐습니다.

귀하의 도움에 감사드립니다.

<dg:DataGrid Grid.Row="10" Grid.ColumnSpan="3" ItemsSource="{Binding Path=Members}" 
    Visibility="{Binding Path=ShowMemberResults, Converter={StaticResource boolTovisConverter}}" 
    SelectionMode="Single" SelectionUnit="FullRow" 
    HorizontalAlignment="Left" 
    Name="MemberGrid" AutoGenerateColumns="False" IsReadOnly="True" 
    SelectedItem="{Binding Path=SelectedMemberItem}" MaxHeight="200"> 
    <dg:DataGrid.Columns> 
    <dg:DataGridTextColumn Header="Member ID" Binding="{Binding Path=MemberID}" Width="100"/> 
    <dg:DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName}" Width="100"/> 
    <dg:DataGridTextColumn Header="Middle" Binding="{Binding Path=MiddleInitial}" Width="50"/> 
    <dg:DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName}" Width="100"/> 
    <dg:DataGridTextColumn Header="Suffix" Binding="{Binding Path=Title}" Width="50"/> 
    <dg:DataGridTextColumn Header="DOB" Binding="{Binding Path=DOB, Converter={StaticResource dateConverter}}" Width="80"/> 
    <dg:DataGridTextColumn Header="Relationship" Binding="{Binding Path=Relationship}" Width="100"/> 
    <dg:DataGridTextColumn Header="Group Name" Binding="{Binding Path=GroupName}" Width="225"/> 
    <dg:DataGridTextColumn Header="Address " Binding="{Binding Path=Addr1}" Width="180"/> 
    <dg:DataGridTextColumn Header="City" Binding="{Binding Path=City}" Width="120"/> 
    <dg:DataGridTextColumn Header="State" Binding="{Binding Path=State}" Width="45"/> 
    <dg:DataGridTextColumn Header="Zip" Binding="{Binding Path=Zip}" Width="50"/> 
    <dg:DataGridTextColumn Header="SSN" Binding="{Binding Path=SSN}" Width="100"/> 
    <dg:DataGridTextColumn Header="Family Link ID" Binding="{Binding Path=FamilyLinkID}" Width="100"/> 
    </dg:DataGrid.Columns> 
</dg:DataGrid> 

답변

7

바인드 사용하여 데이터 StringFormatter :

<wpfToolkit:DataGridTextColumn Header="Your Header" Binding="{Binding TheDate,StringFormat={}\{0:dd/MM/yyyy hh:mm\}}" /> 
+0

나는 이것을 시도했지만 작동하지 않는다. – NickV

+0

그래서 당신의 시도 결과는 무엇입니까? 보이는 무엇입니까? –

+0

거래는 캐시 목적 (내 코드 아님)을 위해 Dictionary 에 배치되어야하므로 데이터베이스가 문자열을 반환한다는 것입니다. 나는 DateTime을 문자열 타입이 아닌 DateTime을 사용하기를 희망하는 DateTime으로 변환하려고 시도했다. 내가 한 모든 것은 DateTime과 같은 또 다른 속성을 만들고 그것을 바인딩하는 것입니다. 사실, 나는 충분한 정보를주지 못했다 :-( – NickV

1
<TextBlock Text="{Binding MyText,StringFormat={}\{0:dd-MM-yyyy HH:mm tt\}}" /> 

또한

더 구속력있는 StringFormat 옵션을 살펴를 여기

코드의 비트는 내가 가지고있다

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

+0

This 작동하지 않습니다. – NickV

+0

당신은 답을 찾고있는 코드 스 니트를 공유 할 수 있습니까? – JSJ

관련 문제