請問TDBGrid如何取得User正在輸入的值? |
答題得分者是:terrychen
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
引言:感謝!我試了結果procedure TForm1.DBGrid1DblClick(Sender: TObject); begin //取得curvalue dbgrid1.DataSource.DataSet.FieldByName(dbgrid1.SelectedField.FieldName).CurValue; end;試試看囉 procedure Tfrnd.DBGrid1DblClick(Sender: TObject); var w: String; begin with dbgrid1 do begin w := (DBGrid1.Controls[0] as TInPlaceEdit).Text ',' <== 正確 selectedfield.CurValue ',' <== 不正確 dbgrid1.DataSource.DataSet.FieldByName(dbgrid1.SelectedField.FieldName).CurValue; <== 不正確 showmessage(w); end; end;Delphi follower
------
Delphi |
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
引言: 我希望在DBGrid1DblClick(Sender: TObject);下就要取的 User輸入的值,就是說User輸入某值後在dbgrid按F1或滑鼠 連點兩下作其他處理,不知口否作到? selectedfield.txt在DblClick下好像只取到oldvalue? Delphi follower雖已結案,小弟測過DBGrid1.SelectedField.Text; 可以做到ying0515所希望的 分數方面,雖Rain大大客氣了 若可以的話 希望版主或站長能更改分數給Rain大大 引述 |
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
感謝terrychen提醒,
我試了DBGrid1.SelectedField.Text;試不出來??
DBGrid1.SelectedField.Text,顯示出來都是空白,
動作是User正在輸入還沒跳下一欄位就按F1觸發.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables; type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; Query1: TQuery; procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var w: String; begin if (key = vk_f1) then begin w := dbgrid1.SelectedField.Text +','+ (DBGrid1.Controls[0] as TInPlaceEdit).Text; showmessage(w); end; end; end.Delphi follower
------
Delphi |
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
引言: 感謝terrychen提醒, 我試了DBGrid1.SelectedField.Text;試不出來?? DBGrid1.SelectedField.Text,顯示出來都是空白, 動作是User正在輸入還沒跳下一欄位就按F1觸發.可能那天小弟沒注意到『跳下一欄位』這ㄍ細節, 感謝ying0515大大的指正 今天在試一次果如ying0515大大所言 小弟有多學了一招 ~~應無所住而生其心~~uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables; type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; Query1: TQuery; procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var w: String; begin if (key = vk_f1) then begin w := dbgrid1.SelectedField.Text +','+ (DBGrid1.Controls[0] as TInPlaceEdit).Text; showmessage(w); end; end; end.Delphi follower |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |