将动态数量的字段应用于DataView.RowFilter

时间:2018-03-19 14:37:49

标签: c# wpf xaml mvvm rowfilter

所有变量都在这里,我不是语法应该是什么。

我正在尝试创建一个下拉搜索框过滤器。搜索框字段使用以下代码动态填充

<ItemsControl ItemsSource="{Binding Vwr.Table.Vals, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<ItemsControl.ItemTemplate>
    <DataTemplate>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Col}" Style="{StaticResource tabTextBlock}"/>
            <TextBox Text="{Binding Val}" Style="{StaticResource tabTextBox}" Width="200"/>
            <TextBlock Text="{Binding CTStr}" Style="{StaticResource tabTextBlock}"/>
        </StackPanel>
    </DataTemplate>
</ItemsControl.ItemTemplate>

Col :列名称

Val :文本框内的值

CTStr :dataType

c#中RowFilter的语法类似于下面的内容(msdn

Col LIKE'%”+ Val +“%'+”AND“+” Col LIKE'%“+ Val +“%”  ......“

所以我需要做的是调用一个ICommand,只要其中一个动态生成的文本字段被更新就会启动,当调用时会检查当前的RowFilter字符串,然后,如果它已经有字段过滤,则会附加AND然后它是自己的过滤字符串。

是否可以设置文本框以在用户编辑文本框字段时随时使用Col和文本框内的值作为命令参数启动ICommand?

0 个答案:

没有答案