我在 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的主要内容,如果未能解决你的问题,请参考以下文章
Youtube 嵌入视频:自动播放功能在 iphone 中不起作用
Iframe 中的 YouTube 嵌入播放器在 iOS6 中不起作用
Phonegap / Cordova Youtube 在 iOS 上嵌入视频不起作用