全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1393
推到 Plurk!
推到 Facebook!

改變Grid中Row的高度後的奇怪狀況~~~~

答題得分者是:chih
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-20 15:47:32 IP:61.220.xxx.xxx 未訂閱
請教各位前輩: 我在程式中加了以下的指令 type TMyDBGrid = class(TDBGrid) published property DefaultRowHeight; end; . . . procedure Thumen1.FormShow(Sender: TObject); var obj: TControl; begin //改變DBGrid每個Row的高度 obj := DBGrid1; TMyDBGrid(Obj).DefaultRowHeight := 39; end; 這段程式碼可以將我畫面的Grid每個Row的高度改變, 但後來我察覺了一個怪異的狀況.... 例如Grid原本可以在畫面中看到十筆資料, 所以囉,當我在Grid中的最後一筆按了向下鍵,相對的ScrollBar相對也會向下移, 但我利用以上這段程式改變Grid中Row的高度時, 畫面中的Grid就只能看到七筆資料,這也是我想要的結果.... 但問題來了~~假如我將資料移到畫面的最後一筆時,ScrollBar卻不會向下移.. 必須向下移三筆後ScrollBar才會有所動作~~~~ 也就是...ScrollBar認定我這個Grid的最後一筆是第十筆,而不是第七筆... 不知各方前輩能不能懂我的意思..... 也望能有前輩能教導我該怎麼辦..... ~~Thanks~~
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-20 16:36:39 IP:61.216.xxx.xxx 未訂閱
我試過你寫的..完全沒有你講的狀況ㄋ...D6 Win98...
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-20 16:40:02 IP:61.220.xxx.xxx 未訂閱
會不會是前輩您的資料筆數比較少........ 我是用D5 win98 發表人 - jojoboy 於 2003/03/20 16:42:56
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-20 16:46:10 IP:61.216.xxx.xxx 未訂閱
資料約200筆..我在FormShow改變高度後順便把Table open..
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-20 16:50:11 IP:218.16.xxx.xxx 未訂閱
我之前用 D7 Win2K 試了沒題,看過 Delphi 的源程式碼 (從 TCustomDBGrid.Scroll 追蹤起) 也沒發現有甚麼問題,後來見你用 D5 Win98, 也用我的舊 D5 Win98 試了還是沒問題.... 建議你重新做個新 project 試試,會比較容易找出是否另外的設定影響了。
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-20 16:58:25 IP:61.221.xxx.xxx 未訂閱
jojoboy你好: 是低!! ScrollBar的位置除了最後一筆跟最前一筆幾乎都是在中央位置即使你改變 欄位的大小ScrollBar只認定grid中所有資料的位置跟視覺位置無關
------
======================
昏睡~
不昏睡~
不由昏睡~
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-20 16:59:43 IP:61.216.xxx.xxx 未訂閱
會不會你的Data有做其他的事情ㄋ??你可能要把全部的code post上來喔...
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-20 17:18:26 IP:61.220.xxx.xxx 未訂閱
感謝各方前輩的幫忙...... 我先試著用一個新專案來測試好了....... 結果出來時再向各位報告囉^^
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-20 17:38:50 IP:61.220.xxx.xxx 未訂閱
剛剛測試了一下...... 發覺問題依然會發生....... 但我發覺假如在Grid中先按下End鍵........ 就會Focus到最後一筆....... 然後就....就可以正常表現了........ 但不知道要怎麼把這個動作寫成程式.......唉
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-03-20 18:04:06 IP:61.216.xxx.xxx 未訂閱
Table或Query open以後先last..在First..就跑到第一筆了 TRY TRY SEE
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-03-20 18:10:23 IP:61.220.xxx.xxx 未訂閱
超怪異的...... 最後的解決方式竟然是這樣子....... 其實不用Last到最後一筆呢....... 只要使用First就ok了.... 超怪異的...... 感謝各方前輩的大力幫忙....... Thanks
系統時間:2024-05-16 23:00:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!