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

如何在 Dbgrid 內類似setfocus功能

答題得分者是:chih
lilisn
一般會員


發表:35
回覆:62
積分:24
註冊:2003-03-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-16 01:26:34 IP:61.228.xxx.xxx 未訂閱
dbgrid 有4個columns,當key in columns[0],去檢查條件後不 符資料後,如何讓dbgrid停在columns[0],並將該欄輸入值還原空白. procedure TmainForm23.main3ADOQuery1custnoValidate(Sender: TField); begin if Length(main3ADOQuery1custno.AsString) = 8 then if main3ADOQuery2.Locate('custno',Main3ADOQuery1custno.AsString,[]) then begin main3ADOQuery1.Edit; main3ADOQuery1.FieldByName('taxyear').AsString:=main3edit1.Text; end else begin showmessage('代號不存在'); 如果1. xxxx main3BGrid1.SelectedIndex:=0; // 一值停在此 xxxx main3DBgrid1.setfocus; // 跳下一欄 如何停在columns[0],並將該欄輸入值還原空白 謝謝 end;
chih
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 08:30:52 IP:211.74.xxx.xxx 未訂閱
建議寫在DBGridColExit裡面 procedure TForm1.DBGrid1ColExit(Sender: TObject); begin if main3ADOQuery1.State=dsBrowse then exit;//如果瀏覽狀態就不判斷 if (DBGrid1.SelectedField=main3ADOQuery1custno) then if Length(main3ADOQuery1custno.AsString) = 8 then if main3ADOQuery2.Locate('custno',Main3ADOQuery1custno.AsString,[]) then begin main3ADOQuery1.FieldByName('taxyear').AsString:=main3edit1.Text; end else begin showmessage('代號不存在'); main3ADOQuery1.FieldByName('taxyear').AsString:=''; main3BGrid1.SelectedIndex:=0; //這裡看你要停在此欄還是下一欄 abort; end; 如果1. xxxx main3BGrid1.SelectedIndex:=0; // 一值停在此 xxxx main3DBgrid1.SelectedIndex:=1; // 跳下一欄 end; TRY TRY SEE
lilisn
一般會員


發表:35
回覆:62
積分:24
註冊:2003-03-09

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