programing

WPF 툴킷 데이터 그리드에서 데이터 그리드 템플릿 열을 정렬하려면 어떻게 해야 합니까?

kakaobank 2023. 5. 22. 21:16
반응형

WPF 툴킷 데이터 그리드에서 데이터 그리드 템플릿 열을 정렬하려면 어떻게 해야 합니까?

데이터 그리드 템플릿 열이 하나 있는 WPF 툴킷 데이터 그리드가 있습니다.모든 열을 정렬할 수 있도록 그리드 특성에 지정했지만 DataGridTemplateColumn에서 이를 허용하지 않습니다.다른 모든 열은 정렬할 수 있습니다.저는 그 열에 대해 CanUserSort를 true로 명시적으로 설정하기도 했지만, 실패했습니다.템플릿 열을 정렬할 수 있습니까?모든 열에 사용할 수 있는 사용자 지정 정렬기를 제공했지만 헤더에서 정렬 클릭이 허용되지 않습니다.

<Controls:DataGrid ItemsSource="{Binding Events}" AutoGenerateColumns="False" 
                               CanUserSortColumns="True" 
                               CanUserReorderColumns="False" 
                               Sorting="DataGrid_Sorting" 
                               x:Name="EventsGrid">
                <Controls:DataGrid.Columns>
                    <Controls:DataGridTemplateColumn Header="Type" Width="42" CanUserResize="False">
                        <Controls:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Image Source="{Binding EventTypeImage, Mode=OneWay}" HorizontalAlignment="Center" Width="16"/>
                            </DataTemplate>
                        </Controls:DataGridTemplateColumn.CellTemplate>
                    </Controls:DataGridTemplateColumn>
                    <Controls:DataGridTextColumn Header="Source" 
                                           Binding="{Binding Source, Mode=OneWay}" />
                    <Controls:DataGridTextColumn Header="Details" MinWidth="175" 
                                           Binding="{Binding Details, Mode=OneWay}" />
                    <Controls:DataGridTextColumn Header="Timestamp" MinWidth="175"  
                                           Binding="{Binding Timestamp, Mode=OneWay}" 
                                           IsReadOnly="True"/>
                </Controls:DataGrid.Columns>
            </Controls:DataGrid>

설정해야 합니다.SortMemberPath에 대한 재산.Controls:DataGridTemplateColumn정렬할 CLR 속성의 이름으로 이동합니다.

추가된SortMemberPath="Name"데이터 그리드 템플릿 열로 이동합니다.정렬을 시작했습니다.

<data:DataGridTemplateColumn Header="Name" SortMemberPath="Name" CanUserSort="True">
 <DataGridTemplateColumn SortMemberPath="DataDiNascita" Header="Data di nascita" IsReadOnly="True">
                <DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <DatePicker SelectedDate="{Binding Path=DataDiNascita}"></DatePicker>
                    </DataTemplate>
                </DataGridTemplateColumn.CellEditingTemplate>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=DataDiNascita,StringFormat=\{0:dd/MM/yyyy\}}"></TextBlock>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

언급URL : https://stackoverflow.com/questions/2739344/how-can-i-sort-a-datagridtemplatecolumn-on-a-wpf-toolkit-datagrid

반응형