0

自動車部品店で使う簡単なプログラムを作っています。外観は次のとおりです。リンク

問題は、左側の小さなウィンドウです。メインウィンドウでDBGridのいずれかの行をダブルクリックすると開く必要があり、選択したアイテムのすべての特性がDBEditフィールドに表示されます。[保存]ボタンをクリックすると、DBEditフィールドからの変更がデータベースに保存されますが、それ以外の場合は、変更が無視されます。

次のコードを使用して、DBGridのフィールドをダブルクリックして別のフォームを開くことに成功しました。

    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
    if not Assigned(Form2)
            then Form2 := TForm2.Create(Application);
    Form2.Show;
    end;

現在の唯一の問題は、DBGridのどの行が選択されているかをプログラムに検出させ、その内容を小さいウィンドウのDBEditフィールドに表示する方法です。

誰かがこれを行う方法を教えてもらえますか?

ありがとう!

4

2 に答える 2

2

にを追加TDBEditsし、を使用しているものと同じものTForm2に接続するだけです。で選択されているのと同じ行の内容が自動的に表示され、編集または挿入して、新しいデータまたは変更されたデータを自動的に表示することができます。DataSourceDBGridDBGridDataSource's DataSetDBGrid

于 2011-05-04T17:59:05.393 に答える
1

これを達成する方法はたくさんあります。2つ説明します。

  • 小さなウィンドウのDBEditsをDBGridと同じデータソースにリンクすると、すべて設定されます。

また

  • DBGrid1DblClickForm1からForm2に必要な情報を渡すことができます。このオプション自体には、多くの可能性があります。

アップデート

データソースをForm2に表示するには、Form2の単位にForm1の単位を使用させるための単位。

于 2011-05-04T18:03:01.087 に答える