2017-01-05 66 views
0

我有一個datagridview顯示數據庫中的數據。我添加了一個文本框作爲搜索框並添加了一個文本更改的事件。在這種情況下,我已經基於文本框中的文本使用'LIKE'寫了搜索查詢。所以當我輸入一個字符時,它會立即搜索數據庫並顯示在datagridview中。Datagridview dataload搜索時

但我的問題是,對於大量數據,例如一百萬行,此文本更改事件會掛起datagridview。不能快速向datagridview顯示數據。任何方式來加快這個過程?

+1

** 1)**通常情況下,'TextChanged'是不適合的數據庫搜索合適的事件,因爲用戶可能希望搜索「東西」,所以他們將鍵入9個字符,你會搜索到成千上萬個記錄之間的9倍,而當他們按Enter鍵時只搜索一次。 ** 2)**當搜索的結果可能是太多記錄,這是更好地運用尋呼策略,例如取前50條記錄,並告訴他們。 –

回答

0

我會用一個BackgroundWorker來搜索我的數據和處理結果只有在框的內容並沒有在平均時間而改變。我還會在搜索時添加延遲以避免無用的搜索。事實上,在需要這種搜索時,我喜歡上的Enter鍵或手柄的keydown /和一個按鈕,以確保我們搜索的時候,我們要。