解决  使用文本框过滤列表框

ConsKa

知名会员
已加入
2020年12月11日
留言内容
85
编程经验
Beginner
我已经在Winform应用程序中完成了这一步,并且了解如何完成此操作,但是在WPF中,我没有't have a binding source instead I have a DataTable/DataView with a {Binding Column} in the XAML file.

因此,当我筛选列表框时,我有点挣扎-遇到语法错误,或者键入时什么也没发生。

码for populating:

C#:
System.Data.DataTable table = new System.Data.DataTable();

C#:
DataColumn codeColumn = new DataColumn("Code", typeof(string));
            DataColumn projColumn = new DataColumn("Project", typeof(string));

            dr = cmd.ExecuteReader();

            table.Columns.Add(codeColumn);
            table.Columns.Add(projColumn);

            table.Load(dr);

            DataView view = new DataView(table);
            codeList.ItemsSource = view;
            projList.ItemsSource = view;

这可以很好地工作,并且使用下面的XAML,我有两个列表框,可以按照我希望的那样链接,当我双击一个列表框中的条目时,另一个文本框将填充从另一个列表中选择的项目。 。这是完美的。

XAML:

C#:
<ListBox x:Name="codeList" Grid.ColumnSpan="2" Grid.RowSpan="3" Grid.Column="1" Grid.Row="7" FontSize="10" ItemsSource="{Binding codeColumn}" DisplayMemberPath="Code" SelectedValuePath="Code" IsSynchronizedWithCurrentItem="True" MouseDoubleClick="codeList_MouseDoubleClick"/>

projList完全相同。

我正在尝试过滤:

C#:
DataView code = new DataView(table);

            code.RowFilter = $"Code LIKE '*{codEntryTB.Text}'";

我已经基于MSDN站点尝试了很多此类变化(尽管我发现在这个特定问题上还很欠缺-仅举一个示例"Code < 3"以及其他各种教程网站-我看不到为什么它不起作用。

我感觉好像丢失了一些东西,例如在过滤器之后刷新codeList以使过滤器生效,但是我看到的每个教程都忽略了这一点,好像没有必要并且应该自动进行,因此对什么都没发生的原因有些迷惑。
 
Solution
From what I can tell, you have told codeList and projList to bind to the to the DataView instance in the variable view. Now you are creating another DataView instance and applying a filter to it. How do you expect, codeList and projList to know about this new instance?

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,500
地点
弗吉尼亚州切萨皮克
编程经验
10+
From what I can tell, you have told codeList and projList to bind to the to the DataView instance in the variable view. Now you are creating another DataView instance and applying a filter to it. How do you expect, codeList and projList to know about this new instance?
 

ConsKa

知名会员
已加入
2020年12月11日
留言内容
85
编程经验
Beginner
这就是为什么第二双眼睛总是有用的原因。

是的,当然它们之间甚至没有一点联系,它怎么可能知道.....我将其移至公共变量以供整个使用,当然它运行完美。

感谢您抽出宝贵时间看一下,并让我知道跳伞运动员
 
最佳 底部