我在 youtube 上看到的代码不起作用。我需要通过在文本框上使用 textchanged 事件来执行 Rowfilter

Posted

技术标签:

【中文标题】我在 youtube 上看到的代码不起作用。我需要通过在文本框上使用 textchanged 事件来执行 Rowfilter【英文标题】:The code I've seen on youtube aren't working. I need to do Rowfilter by using textchanged event on a text box 【发布时间】:2019-05-15 15:03:52 【问题描述】:

我在 youtube 上看到的代码不起作用。我需要在 TextBox 上使用 TextChanged 事件进行 Rowfilter。 我正在使用 MS ACCESS 作为我的数据库。

DataView dv = dt.DefaultView;

dv.RowFilter = "Patient_Number LIKE '%" + textBox11.Text + "%'";

它说找不到列。

【问题讨论】:

您应该详细说明您的问题,以获得可能的最佳答案。 【参考方案1】:

取自https://docs.microsoft.com/en-us/dotnet/api/system.data.dataview.rowfilter?view=netframework-4.8

要形成 RowFilter 值,请指定列名,后跟运算符和要过滤的值。该值必须用引号引起来。例如:“姓氏 = '史密斯'”

我编写了一个小虚拟 Winforms 应用程序来测试您的代码,并在主窗体上放置了一个名为 textbox11 的文本框,就像您的示例一样。

在调试模式下运行时,代码

String test = "Patient_Number LIKE '%" + textBox11.Text + "%'";

当我在 textbox11 中输入值 1234 时,计算结果为:“Patient_Number LIKE '%1234%'”。这似乎是正确的格式,因为当我删除外部双引号使用文本作为 SQL 中的 WHERE 条件时,查询会正确计算。

根据这一发现,我的猜测是您的 DataView 对象中不存在 Patient_Number 列。要检查这一点,请在行上放置一个断点

DataView dv = dt.DefaultView;

并在 Visual Studio 的监视窗口中查看 DataTable 对象 (dt) 的“列”属性。要使此代码正常工作,您的 DataTable 需要包含您尝试过滤的列 Patient_Number。

【讨论】:

以上是关于我在 youtube 上看到的代码不起作用。我需要通过在文本框上使用 textchanged 事件来执行 Rowfilter的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 的 Youtube 隐藏式字幕不起作用

Youtube 嵌入视频:自动播放功能在 iphone 中不起作用

Iframe 中的 YouTube 嵌入播放器在 iOS6 中不起作用

Phonegap / Cordova Youtube 在 iOS 上嵌入视频不起作用

Python:使用Google提供的代码段将视频上传到youtube不起作用

Youtube API onReady不起作用