【发布时间】:2015-04-10 13:35:17
【问题描述】:
我有一个绑定的 datagridView,我想使用 TextBox 值对其进行过滤。
我使用了这个代码:
private void ChercheStextBox_TextChanged(object sender, EventArgs e)
{
try
{
((DataTable)dataGridView3.DataSource).DefaultView.RowFilter = string.Format("LibService like '%{0}%'", ChercheStextBox.Text.Trim().Replace("'", "''"));
}
catch
{
}
}
但即使我使用相同的代码,此代码也不会过滤 datagridView
在另一个 datagridView 中,它工作得很好。我不知道在哪里
我的代码出错了?
提前致谢。
编辑:
我删除了 try catch 并收到了以下错误消息:
无法将“system.windows.forms.bindingsource”类型的对象转换为“system.data.datatable”类型
我该如何解决??
【问题讨论】:
-
你确定列名(LibService)正确吗?
-
是的,我确定它是正确的
-
您是否将事件处理程序绑定到正确的事件?在该方法中放置一个断点并在离开该方法之前检查
RowFilter属性 -
您查看过生成的过滤器字符串吗?愿意发布吗?
-
摆脱那个空的try-catch。这对你没有帮助。
标签: c# winforms datagridview filter