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...