RadGridView列表列过滤

时间:2019-01-09 13:50:18

标签: wpf filter radgridview

我在WPF应用程序上使用RadGridView控件。我为网格的其中一个列(类别列)添加了一个列过滤器。

“类别”列是“列表/集合”列。可以显示一行的多个项目。我们需要一个用于此“类别”列的过滤器。因此该过滤器应仅在过滤器弹出窗口中显示不同的类别。

请检查下面的屏幕截图-

enter image description here

我正在使用以下代码在过滤器下拉列表中获取不同的值-

    private void MyGrid_OnDistinctValuesLoading(object sender, GridViewDistinctValuesLoadingEventArgs e)
    {            
        e.ItemsSource = ((RadGridView)sender).GetDistinctValues(e.Column, false);
    }

“类别”列的XAML代码下方-

<telerik:GridViewDataColumn x:Name="Category"                                                                                                   DataMemberBinding="{Binding CategoryList, Mode=OneWay}"                 
              FilterMemberPath="CategoryText"
              IsFilterable="True"                                                                                                                       
<telerik:GridViewDataColumn.Header>
                        <TextBlock VerticalAlignment="Center"                                           
                                       TextTrimming="CharacterEllipsis"                                       
                                       ToolTip="Category"
                                       Text= "Category" />
                    </telerik:GridViewDataColumn.Header>

                    <telerik:GridViewDataColumn.CellTemplate>
                        <DataTemplate>                                                                                                  
                                <ItemsControl x:Name="CategoryItemsControl"
                                          VerticalAlignment="Top"                                                                                                             
                                          ItemsSource="{Binding CategoryList, Mode=OneWay}">
                                    <ItemsControl.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <StackPanel Orientation="Vertical" />
                                        </ItemsPanelTemplate>
                                    </ItemsControl.ItemsPanel>
                                    <ItemsControl.ItemTemplate>
                                        <DataTemplate>
                                            <Border MinHeight="105"
                                                MaxHeight="105"                                                                                                      
                                                BorderBrush="{StaticResource IsabellineBrush}"
                                                BorderThickness="0,0,0,1">
                                                <TextBlock TextTrimming="CharacterEllipsis"
                                                           ToolTip="{Binding CategoryText}"
                                                           Text="{Binding CategoryText}"                                                               
                                                           VerticalAlignment="Center"                                                               
                                                           FontSize="12" />
                                            </Border>
                                        </DataTemplate>
                                    </ItemsControl.ItemTemplate>
                                </ItemsControl>                                
                        </DataTemplate>
                    </telerik:GridViewDataColumn.CellTemplate>
                </telerik:GridViewDataColumn>

但是我在过滤器下拉列表中没有得到不同的值(按照“类别”列)。

我想按照上图中的蓝色框在过滤器下拉列表中显示不同的值。

任何人都可以让我知道我在这里想念的东西。

0 个答案:

没有答案