本帖最后由 Richard.Ma 于 2019-7-8 14:39 编辑
通过良好的数据分析可以做出明智的商业决策。数据过滤是产生这些决策的基本步骤。过滤后分析师就能够构建不同的模型,并从数据中获得决策依据。
Flex Grid和C1 Data Grid提供了强大的功能,可用于过滤和组织数据。对于Component One 2019 v1,我们为WPF和UWP控件也添加了全文过滤功能,使搜索数据更加容易。
过滤和组织数据的工具
全文过滤
全文过滤器功能与Grid中的数据搜索框非常相似。 当您输入文本时,网格将动态更新,并根据您设置的选项突出显示任何完整或部分匹配。
FlexGrid
DataGrid
您可以通过添加FullTextFilterBehavior将全文筛选器添加到FlexGrid:
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <c1:C1TextBoxBase x:Name="filter" Margin="4 4 4 4" Width="200" HorizontalAlignment="Left"/>
- <c1:C1FlexGrid x:Name="grid" Grid.Row="1">
- <c1:C1FlexGridFilterService.FlexGridFilter>
- <c1:C1FlexGridFilter />
- </c1:C1FlexGridFilterService.FlexGridFilter>
- <c1:C1FlexGridFilterService.FullTextFilterBehavior>
- <c1:C1FullTextFilter FilterEntry="{Binding Source={x:Reference filter}}" />
- </c1:C1FlexGridFilterService.FullTextFilterBehavior>
- </c1:C1FlexGrid>
- </Grid>
复制代码
这个全文过滤可以与FlexGrid中的列级过滤相结合
向C1DataGrid添加过滤器是类似的, 但是您需要在文本框上触发Text Changed事件以触发过滤器:
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition />
- </Grid.RowDefinitions>
- <c1:C1TextBoxBase x:Name="filter" Margin="0 0 0 10"
- Width="200"
- HorizontalAlignment="Left"
- VerticalAlignment="Center" TextChanged="filter_TextChanged"/>
- <c1:C1DataGrid x:Name="grid" Grid.Row="1"
- AutoGeneratingColumn="grid_AutoGeneratingColumn"
- CanUserAddRows="False"
- RowHeight="30"
- IsReadOnly="true">
- <c1:C1FullTextSearchBehavior.FullTextSearchBehavior>
- <c1:C1FullTextSearchBehavior />
- </c1:C1FullTextSearchBehavior.FullTextSearchBehavior>
- </c1:C1DataGrid>
- </Grid>
复制代码
在后台的代码中,您需要按以下方式添加过滤器Text Changed事件:
- private void filter_TextChanged(object sender, TextChangedEventArgs e)
- {
- C1FullTextSearchBehavior.GetFullTextSearchBehavior(grid).Filter = filter.Text;
- }
复制代码
与FlexGrid中的全文过滤不同,在C1DataGrid中这个过滤器不能与C1Data Grid中的其他过滤组合。
另外,以下几种不同的选项可用于确定过滤器的行为方式:
MatchCase: 过滤区分大小写。
MatchWholeWord: 仅匹配整个单词。
MatchNumbers: 此选项强制数字匹配,可用于在数字和日期时间列上禁用/启用过滤器。 默认值是true。
TreatSpacesAsAndOperator: 用多个关键词进行过滤,其中空格被视为And运算符。默认值为false
|