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

dbgrid focus的問題

答題得分者是:Justmade
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-02 14:19:23 IP:203.70.xxx.xxx 未訂閱
我dbgrid中自定義了一個欄位叫項次,這欄位是不允許輸入資料的,每當dbgrid取得focus時,游標都會停在第一個欄位上,有沒有辦法不要停在那個欄位上,另個問題則是我在dbgrid中自定義的"項次"其流水號要如何自動產生?
chih
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-02 14:26:13 IP:211.74.xxx.xxx 未訂閱
我dbgrid中自定義了一個欄位叫項次,這欄位是不允許輸入資料的,每當dbgrid取得focus時,游標都會停在第一個欄位上,有沒有辦法不要停在那個欄位上, 將該欄位ReadOnly設為True 另個問題則是我在dbgrid中自定義的"項次"其流水號要如何自動產生? OnNewRecord依照你的規則(例:日期 流水號)給值
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-02 14:53:13 IP:203.70.xxx.xxx 未訂閱
有的,我有設定ReadOnly設為True,但每次只要dbgrid取得focus時,一定會停在那個欄上,但移到下筆或新增時則又不會停在項次那個欄位上. 由於我的dbgrid的資料是來自上層的主檔,可能是空資料,可能是修改橂式,所項次欄位流水號,似乎用onewrecord並不恰當,煩請多多指教
Justmade
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-02 15:00:32 IP:218.16.xxx.xxx 未訂閱
想不讓第一個 Column 被 Focus (亦順帶修改不到)可在 DBGrid 的 onEnter 及 onColEnter 事件加入 : if DBGrid1.SelectedIndex = 0 then DBGrid1.SelectedIndex := 1 你流水號的意思是 Detail 資料從1,2,3 這樣自動排嗎? 最簡單的就是 : [code] if DetailTable.IsEmpty then Seq := 1; else begin Query1.SQL.Text := 'Select Max(SeqNo) from Detail where Key = ''' FieldByName('Key').Value ''''; Query1.Active := true; Seq := Query1.Fields[0].Value 1; end; [code]
Justmade
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-02 15:13:13 IP:218.16.xxx.xxx 未訂閱
若你的項次是一個 calculated field(integer),不用存在數據庫的,可以 在 Table 的 onCalField 設定 : Table.FieldByName('項次').Value := Table.RecNo;
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-02 15:16:22 IP:203.70.xxx.xxx 未訂閱
感謝版主,這就是我要的.
系統時間:2024-06-28 5:24:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!