मैं एक WPF Toolkit DataGrid पर DataGridTemplateColumn को कैसे क्रमबद्ध कर सकता हूं?




sorting wpftoolkit (3)

आपको SortMemberPath प्रॉपर्टी को Controls:DataGridTemplateColumn पर सेट करने की आवश्यकता है Controls:DataGridTemplateColumn सीएलआर प्रॉपर्टी के नाम पर जिसे आप सॉर्ट करना चाहते हैं।

मेरे पास एक DataGridTemplateColumn के साथ एक WPF टूलकिट डेटाग्रिड है। मैंने एक ग्रिड विशेषता में निर्दिष्ट किया है कि मैं सभी स्तंभों को क्रमबद्ध करने की इच्छा करता हूं, लेकिन DataGridTemplateColumn इसे अनुमति नहीं देगा। अन्य सभी कॉलम सॉर्टिंग की अनुमति देते हैं। मैंने स्पष्ट रूप से उस कॉलम के लिए CanUserSort को सही रूप से सेट करने का भी प्रयास किया है, लेकिन कोई भाग्य नहीं है। क्या टेम्पलेट कॉलम को सॉर्ट करना भी संभव है? मैंने एक कस्टम सॉर्टर प्रदान किया है जो सभी कॉलम के लिए काम करता है, लेकिन हेडर किसी प्रकार को क्लिक करने की अनुमति नहीं देगा।

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

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

SortMemberPath="Name" DataGridTemplateColumn में SortMemberPath="Name" जोड़ा गया। यह छंटनी शुरू कर दिया।

<data:DataGridTemplateColumn Header="Name" SortMemberPath="Name" CanUserSort="True">




datagridtemplatecolumn