為什麼DBGrid的CellClick一定要按到框框才會執行呢??? |
答題得分者是:Rain
|
361002
一般會員 發表:7 回覆:18 積分:5 註冊:2003-04-10 發送簡訊給我 |
如題!
我按到格子裡面都沒用, 害我以為用錯了, 一定要按到框框的線才會去執行, 為什麼呢??? 是我少加了什麼嗎? 以下是我的程式, 可不可以麻煩各位幫我看一下!謝謝!
procedure TfrmGroupOrder.DBGrid1CellClick(Column: TColumn);
var
iQty : integer;
begin if DBGrid1.SelectedField = ADOTable1.Fields[3] then
begin
iQty := DBGrid1.SelectedField.Value;
ShowMessage(inttostr(iQty));
end;
end;
|
ccsam
一般會員 發表:6 回覆:8 積分:7 註冊:2003-07-11 發送簡訊給我 |
|
361002
一般會員 發表:7 回覆:18 積分:5 註冊:2003-04-10 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
|
361002
一般會員 發表:7 回覆:18 積分:5 註冊:2003-04-10 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
你好:
dbAlwaysShowEditor在DBGrid的Options屬性中,是它的一個項
,直接設置就好。我的意思是在DataSoure的OnDataChange事件
中加入功能代碼。把DBGrid的Options的dgAlwaysShowEditor項設為
True則在滑鼠點擊單格時直接進入編輯狀態,所以不會觸發OnCellClick事件,
但是在剛進入一個單格或者從一個單格移動到另一個單格都會觸發
DataSource的OnDataChange事件,因此你可以把原來想在OnCellClick過程
中想做的事情放在OnDataChange事件中處理。
不知道這下子說清楚了沒有?
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 那請問Rain, dbAlwaysShowEditor要寫在datasoure 的ondatachange的那個屬性呢? DBGrid好像沒有相對應的屬性, 對不起,因為我是初學者, 所以對屬性並不熟, 還要麻煩你指點一二, 謝謝! >>< face="Verdana, Arial, Helvetica"> 我不是 RAIN, 不過我回答我想你也不會介意吧!!... :) 把 dgAlwaysShowEditor 設為 False, 然後對應的 event 改成如下的碼:procedure TForm1.DBGrid1CellClick(Column: TColumn); begin if DBGrid1.SelectedIndex=2 then begin ShowMessage('HAHAHA') ; end ; // 用來產生類似 AlwaysShowEdit 的效果 if DBGrid1.EditorMode=false then DBGrid1.EditorMode:=true ; end; procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin // 用來產生類似 AlwaysShowEdit 的效果 if DBGrid1.EditorMode=false then DBGrid1.EditorMode:=true ; end;...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
361002
一般會員 發表:7 回覆:18 積分:5 註冊:2003-04-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |