delphi 7 DBGrid 實現下拉選擇後更新

時間 2022-11-08 20:30:08

1樓:匿名使用者

1 在ondrawcolumncell裡

寫 if (gdfocused in state) then

begin

if (column.fieldname='對應的列欄位名') then

begin

tmprect:=rect;

end;

end;

2 在oncellclick裡

if column.fieldname='對應的列欄位名' then

begin

krect:=tmprect;

tmpcombox.left := krect.left + dbgrid1.left;

tmpcombox.top := krect.top + dbgrid1.top;

//這left和top的值 和程式佈局有關 在我的程式裡 是dbgrid1在視窗的位置加上被選擇區域的位置 個別程式可能要自己調整。

tmpcombox.width := krect.right - krect.left;

tmpcombox.height := krect.bottom - krect.top;

tmpcombox.clear;

tmpcombox.items.add('衣服001');

tmpcombox.items.add('鞋子002');

tmpcombox.items.add('牙膏003');

tmpcombox.itemindex:=0;

tmpcombox.visible:=true;

end;

在 tmpcombox被選擇後 visible設定成false

delphi中dbgrid中下拉變化時什麼事件

2樓:林木木不掛科

用dbgrid的buttongsyle屬性、、把他設定成cbsauto 就可以形成像combobox一樣的下拉框了

如果要求下拉後有資料顯示 就需要用picklist屬性和adoquery來做

3樓:網友

delphi中dbgrid沒有下拉變化事件,建議使用滑鼠移動事件(onmousemove)

4樓:匿名使用者

誰也不知道你究竟問的是什麼.

delphi dbgrid裡面的值如何自動更新

5樓:匿名使用者

你是用adodataset1元件與dbgrid關聯,在「新增」按鈕將資料寫入資料庫後,可執行adodataset1.active:=false;adodataset1.

active:=true;此時dbgrid中的資料將會重新整理。其實你不需要用datatable來新增資料,直接用adodataset1也可以新增資料的

6樓:匿名使用者

每次更新完資料執行下 dbgrid1.datasource.dataset.close;

dbgrid1.datasource.dataset.open;讓他重新在資料庫裡查詢出資訊

在delphi中如何實現資料的更新,更新結果在dbgrid中顯示出來,我用的是access。謝謝,希望能給出**

7樓:匿名使用者

和連線sqlserver 是一樣的寫法,只是資料連線控制元件是用adoquery

var userid,password: string;

begin

userid:=edit1.text;

password:=edit2.text;

with adoquery1 do

begin

edit;

adoquery1userid.asstring:=userid;

adoquery1password.asstring:=password;

post;

close;

open;

end;

showmessage('密碼修改成功');

with adoquery1 do

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add(' select * from table');

adoquery1.sql.add('where 1=1');

if (edit1.text<>'') then

adoquery1.sql.add('and userid= ''' + edit1.text + '''');

adoquery1.sql.add('and password= ''' + edit2.text + '''');

adoquery1.open;

close;

8樓:匿名使用者

沒太明白

adoquery1.close;

adoquery1.open;

就可以重新整理資料了

9樓:匿名使用者

dataset和dbgrid關聯,一邊改一邊就顯示了,不要**

delphi 7中如何選中dbgrid中的一行資料、

10樓:匿名使用者

dbgrid.selectedrows.items[i];

//selectedrows就是你選中的行

//items[i]就是選中行的第i列的值(string型別的)

11樓:曾經的我很悲

點選這一行就好了啊,你說的選擇是什麼意思?

關於delphi中的dbgridg更新記錄後不重新整理的問題 20

12樓:匿名使用者

你的adoquery1執行的是sql語句修改了資料庫的資料.

而你的grid關聯的資料集資料並沒有更新。

你用adoquery1去執行更新

在做adoquery2區關聯grid,執行adoquery1後adoquery2.refresh

delphi 更改了表的資料後,重新整理dbgrid

13樓:謝3哥

變成空,是因為你是使用同一個adoquery來執行儲存過程的吧

有兩種方法,一種是直接重新開啟adoquery.一種是在儲存過程里加select,如果查詢是固定的話

14樓:匿名使用者

adoquery.active:=false;

adoquery1.active:=true;

試一下吧

15樓:匿名使用者

adoquery.close;

adoquery.open;

Delphi 7如何安裝控制元件,Delphi7控制元件安裝

安裝控制元件包還是安裝單獨控制元件 delphi7控制元件安裝 1 對於單個控制元件,componet install component.pas或dcu檔案 install 2 對於帶 dpk檔案的控制元件包,file open 下拉選單框中選 dpk install即可 3 對於帶 bpl檔案的...

VB或者DELPHI如何實現讀取Mdb資料庫欄位呢

vb6的話,最簡單的方法,新增 data 控制元件 工具箱裡就有 設定 data 控制元件的 databasename 屬性 連線資料庫檔案 recordsource 屬性 連線資料表 編寫 data1.refresh 重新整理並返回記錄集 text1.text data1.recordset.fi...

delphi如何實現 當滑鼠放到按鈕上,按鈕會變大一點,移開又變回原狀的動態效果

去看 vclskin的原始碼 裡面有攔截了 button 的滑鼠訊息 做相應的改變 畫上去就行了 在按鈕的onmousemove事件加入button.width 100 在窗體的onmousemove事件加入button.width 50 wincc中按鈕如何實現浮動功能!就是滑鼠停在按鈕上按鈕變大...