如何单击dbgrid某行触发事件? |
尚未結案
|
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
您好:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Edit1.Text:= DBgrid1.Fields[0].Text; //Fields[0]代表第一ㄍ欄位
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Edit;
DBgrid1.Fields[0].Text:= Edit1.Text;
end; ~~應無所住而生其心~~
|
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
引言: 您好: procedure TForm1.DBGrid1CellClick(Column: TColumn); begin Edit1.Text:= DBgrid1.Fields[0].Text; //Fields[0]代表第一ㄍ欄位 end; procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Edit; DBgrid1.Fields[0].Text:= Edit1.Text; end; ~~應無所住而生其心~~多谢指教!我试过了,有个小问题,当查询出来的结果只有一条时,就改不了了?(直接在DBgrid上改数据也是这种情况)怎么解决啊? |
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
您好:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Edit;
DBgrid1.Fields[0].Text:= Edit1.Text;
end;
改成
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Edit;
DBgrid1.Fields[0].Text:= Edit1.Text;
ADOQuery1.post;
end; ~~應無所住而生其心~~
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
ffprince您好:
对于问题1:您可以试试以下方法
procedure TForm.Query1AfterScroll(DataSet: TDataSet);
begin
with Query1 do
begin
Edit1.Text:=FieldByName('field1').AsString;
Edit2.Text:=FieldByName('field2').AsString;
Edit3.Text:=FieldByName('field3').AsString;
end;
end;
在Edit框做修改然后回传给资料库,可以这样试试:
procedure TForm1.Button1Click(Sender: TObject);
begin
with Query1 do
begin
Edit;
FieldByName('field1').AsString:=Trim(Edit1.Text);
FieldByName('field2').AsString:=Trim(Edit2.Text);
FieldByName('field3').AsString:=Trim(Edit3.Text);
Post;
end;
end;
update的用法:
SET column_ref = update_atom [, column_ref = update_atom...]
[WHERE predicates]
UPDATE SalesInfo
SET TaxRate = 0.0825
将表SalesInfo中TaxRate字段值用0.0825替代。
详细可查相关帮助。 ——行径窄处,留一步与人行——
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: 1.為何不乾脆使用資料感知元件 DBEdit 來進行編輯?如此即不用去管 Edit 上的資料內容
2.用一個 Panel 來承載所有的 DBEdit,只要控制 Panel 的 Enabled 屬性,即可控制 DBEdit 是否可以 Edit
3.
procedure TMainForm.Button1Click(Sender: TObject); begin IF (DBGrid1.DataSource.DataSet.State IN [dsEdit,dsInsert]) THEN DBGrid1.DataSource.DataSet.Post; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |