線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1698
推到 Plurk!
推到 Facebook!

必須時常更新Grid資料的做法

答題得分者是:P.D.
cooldye
一般會員


發表:1
回覆:2
積分:0
註冊:2005-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-09 16:55:34 IP:218.210.xxx.xxx 訂閱
請問各位:

我有一個Grid,它在程式開啟後會一直不斷的進行新增或修改資料,並同時接受使用的的條件篩選(像是只某時間條件內之資料,或是只秀某群組條件內之資料)。

我現在的做法,是先Create一個StringList,然後此StringList便負責使用者的條件篩選及接收或修改資料,然後再反應到Grid。

這個做法的缺點,在於StringList會越來越大(資料量會隨時間越來越多),可能會嚴重到影響電腦的Ram及Cpu效能。

所以我想改變一下做法,就是讓畫面有兩個Grid,其中A_Grid代替之前的StringList功能,另一個B_Grid還是一樣被動的接收A_Grid所給的資料。

請問這樣做會比較好嗎? 會不會只是拐個彎還是回到原點呢?

或是各位是否有更好的方法呢? 還請不吝指教。

PS. 請不要回答我擴充硬體^^" 感謝
borland_delphi70
中階會員


發表:8
回覆:50
積分:51
註冊:2002-12-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-09 18:11:15 IP:202.132.xxx.xxx 訂閱
長官:

您將此問題放在資料庫程式設計討論區,那您是否有考慮將資料存在資料庫中,再以tADOQuery->tDataSource->tDBGrid將資料取出,tADOQuery有提供Filter讓User篩選資料,tADOQuery也提供ReQuery讓User重新查詢資料,可能會方便一點。
cooldye
一般會員


發表:1
回覆:2
積分:0
註冊:2005-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-10 09:36:57 IP:218.210.xxx.xxx 訂閱
  抱歉,我想我應該是問錯地方了。

我想做的東西就類似股市的報價一樣,Grid上的資料必須是和資料庫的資料同步的,當資料庫資料一改變,馬上便傳送給Grid顯示,而差別在於股市報價的資料筆數蠻固定的,而我要做的東西的資料筆數會隨著時間不斷增長。

所以tADOQuery雖然可以滿足使用者對於資料條件篩選的功能,但很難滿足Grid跟資料庫同步化的功能 (還是其實可以? 可以的話煩請指教)。

最後想請問,這問題應該改到哪個討論區提問會比較好呢? 謝謝。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-10 15:54:32 IP:61.67.xxx.xxx 未訂閱
 Grid 有很多類型, 你沒有提到是那一種, 我假設你說的Gird 都是 StrigGrid
1.既然你擔心一個Grid 會一直增長, 那你做兩個Grid 來比對不也一樣的結果嗎?
2.使用StringList 是一個不錯的選擇, 不過 Grid 有 Column 的功能, StringList 沒有, 萬一要比對兩個Column時, StringList 不容易解決
3.我的習慣, 如果是一個不確定性的因素下, 而且考慮資料增加, 不妨考慮用 database, 諸如 db, mdb, sql.., 彈性較大, 功能
也較完整, 要比對也容易
4.本篇置於資料庫倒也還可以啦! 因為與資料庫還是有關係
cooldye
一般會員


發表:1
回覆:2
積分:0
註冊:2005-10-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-14 08:46:49 IP:218.210.xxx.xxx 訂閱
感謝版主的回答,您的建議讓我有些靈感,或許我可以利用點小技巧跟障眼法,來達成我的目的。

若大家對這方面問題還有些建議,還請不吝指教。
系統時間:2024-05-13 12:13:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!