2010-11-09 73 views
0

我有一個dbgrid和它的datasources onchange事件有一些代碼,可以做一些工作,它需要2-3秒。當我滾動鼠標weel on dbgrid tha數據源上的代碼適用於我滾動的所有行,但我希望它爲最後一行工作我該怎麼做。有用於查詢afterscroll事件,但同樣德爾福DBGrid滾動鼠標

感謝

+0

嗨,user262967。歡迎來到StackOverflow。我們在這裏有很多知道Delphi和組件的人,但是要理解你要找的東西有點困難。你介意編輯你的問題,以便在那裏有一個明確的問題*嗎?謝謝。 – 2010-11-09 17:44:56

回答

1

如果我理解正確的話......也確實

你需要做的是什麼,而不是在執行「的OnChange」代碼數據源事件,你應該在那裏啓動一個定時器(見TTimer),然後在OnTimer事件中執行「OnChange」代碼。

在OnChange中,您只應啓動/重置計時器。

這樣,如果用戶滾動了很多記錄,如果用戶在任何記錄上保持空閒時間過長,它最多隻會在最後一個記錄上滾動一次,而只執行一次OnChange。

計時器應該有多長時間取決於您自己的具體需求。

如果用戶使用鍵盤的箭頭滾動,這也會起作用。