我知道這個主題有好幾個線程,但我已經嘗試了一切,仍然沒有運氣過濾我的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