我有一個DataGridView
從類似於this設置的夫妻表中提取數據。它效果很好。好帖子和答案。繼續該帖子中的示例,我現在要創建一個篩選器,該帳戶通過在帳戶說明中使用LIKE
參數生成適用於特定帳戶的所有DataGridView
事務。在DataGridView中篩選相關數據
我有一個解決方案,通過檢查帳戶表的描述和獲得IDAccount值,然後使用DataGridView
過濾器中的值,但我希望有一個更自動化的方式使用綁定。
任何想法?謝謝你的建議。
編輯: 假如我有一個TextBox
控件調用AccountDescriptionBox,我希望能夠做到像
dataGridView1.Filter = string.Format("{0} LIKE '{1}'", "IDAccount", AccountDescriptionBox.Text);
顯然,這將無法正常工作IDAccount是一個整數,不一個字符串。我上面提到的解決方案是
string filter = string.Empty;
Regex searchTerm = new Regex(Regex.Escape(AccountDescriptionBox.Text).Replace('\\', '.'), RegexOptions.IgnoreCase);
var accts = from acct in dataSet1.Accounts
let matches = searchTerm.Matches(acct.Description)
where matches.Count > 0
select acct.ID;
for (int i; i < accts.Count() - 1; i++)
{
filter += string.Format("IDAccount = {0} OR ",accts.ElementAt(i));
}
filter += string.Format("IDAccount = {0}",accts.Last());
dataGridView1.Filter = filter;
這個工作,但很麻煩。如果有辦法,我寧願通過綁定來完成。
代碼片段來說明你試圖完成什麼可能有幫助 – Coops
我也一直在嘗試如何過濾datagridviews。在我的情況下,他們由linq填充。我現在使用的解決方案是簡單地使用linq查詢作爲過濾器,因此過濾發生在行最終在datagridview中之前。根據你的情況,你可能會爲你工作。 – DavveK
@CodeBlend,看我的編輯。 – gregsdennis