在delphi中單擊dbgrid某條資料怎麼讓另外dbgrid裡的資料發生變化

2022-03-14 06:01:48 字數 1557 閱讀 9306

1樓:匿名使用者

你的問題似乎是主、子表問題。有兩種方法:

方法一:利用delphi的「form嚮導」生成主、子表窗體。這種方法比較死板但效率高。

方法二:自己程式設計通過過濾的方式實現主、子表相同的效果。可靈活控制,但效率低些,使用於資料量不大的情況。

以下是雙擊的例程,和你要求的單擊功能相似。

table1是主表,table2是從表,兩表都有「儀器編號」欄位,並對此欄位建立索引。主表顯示在dbgrid1中,從表顯示在dbgrid2中。

procedure tform1.dbgrid1dblclick(sender: tobject);

varst:string;

begin

st:=table1.fieldbyname('儀器編號').asstring;

table2.filter:='儀器編號='+''''+st+'''';

table2.filtered:=true;

end;

2樓:匿名使用者

你可以將後一個dbgrid的值賦為前一個單擊的資料的值。

在delphi裡,怎麼把一個dbgrid中的值傳到另一個dbgrid中

3樓:匿名使用者

兩個dbgrid對應的「資料來源」是何種關係? 是一對一還是一對多? 傳的是主鍵還是別的?

是否滿足關聯式資料庫的正規化 ?

4樓:匿名使用者

用同一個 dbsource 即可

在delphi裡,怎麼把一個dbgrid中的值傳到另一個dbgrid中?

5樓:匿名使用者

你宣告一個string型別的變數,把form1.dbgrid1.datasource.

dataset.fieldbyname('field1').asstring取到的值賦給他,然後讓form1.

dbgrid2.datasource.dataset.

fieldbyname('field1').asstring:=那個string值就可以了呀。

6樓:

form1.dbgrid1.datasource.dataset.fieldbyname('field1').asstring;

form1.dbgrid1.datasource.dataset.fieldbyname('field2').asstring;

這是form1的dbgrid1的field1、field2兩列值。

在form1.dbgrid1.ondblclick(雙擊)的時候新增就可以了。

沒裝delphi,不知道有沒有記錯的地方。

新增你可以選擇其他控制元件,為不用非要用dbgrid,用listview等控制元件也行,操作起來還比較簡單。

delphi在做好查詢後怎麼在dbgrid中雙擊然後出現另外一個介面,並把該條資訊都顯示在所跳出來的介面上面

7樓:匿名使用者

獲取單擊的行號,然後通過記錄集獲取啊,很簡單

在delphi中的datagrid怎樣使它顯示的行間隔改變顏色

在 delphi 的內建元件裡,並沒有 datagrid 元件。以下提供的是 dbgrid 元件,隔行變色顯示的 procedure tform1.dbgrid1drawdatacell sender tobject const rect trect field tfield state tgrid...

在delphi中怎麼設定介面的背景

delphi設定介面背景有兩種情況,一是在設計期間修改背景,二是在執行期間修改。對於設計期的修改方法如下 1.選擇待處理的form 2.在屬性編輯中,找到color屬性 3.使用下拉選擇待設定的顏色 4.逐一設定視窗上所有的控制元件,將其控制元件的transparent屬性修改為true,以使得字型...

delphi中想設定CTRL ENTER快捷鍵

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs type tform1 class tform procedure formcreate sender...