我知道这个主题有好几个线程,但我已经尝试了一切,仍然没有运气过滤我的datagridview。我试图根据用户在文本字段中输入的值来过滤datagridview的行。 datagridviews数据源在下面提供的数据源中设置。DataGridView过滤器不工作
所以这里是我使用的代码。我没有得到任何错误,datagridview根本不会改变。 ManufacturerService.GettAll返回制造商的名单,我将其转换为一个的BindingList到
bsManufacturers.DataSource = new BindingList<Manufacturer>(ManufacturerService.GetAll(_ctx));
在此代码运行文本框的TextChanged事件。我已经检查过断点等。该代码在执行过滤器字符串正确时执行。
private void FilterData(string str)
{
bsManufacturers.Filter = string.Format("Name like '%{0}%'", str);
dgvManufacturers.Refresh();
}
任何帮助?或至少解释为什么这不起作用?我一直在做这个了好几个小时,只是不能似乎找到一个anwser任何地方
尝试此操作,并将dgv数据源设置为null,然后将其设置为bindingsource。虽然我打破并检查绑定源的属性的过滤器属性设置正确,但仍然datagridview不过滤 – limlim 2012-07-09 07:02:19
好吧,所以我发现道具SupportsFiltering = false。 http://msdn.microsoft。com/en-us/library/system.windows.forms.bindingsource.supportsfiltering.aspx我仍然不明白为什么。应该BindingList没有实现这个接口? – limlim 2012-07-09 07:53:06
试试我更新后的帖子。 – BizApps 2012-07-09 07:54:39