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

只需添加TDBEditsto TForm2,并将它们连接到与正在使用的相同DataSourceDBGrid。它们将自动显示在 中选择的同一行的内容,DBGrid您可以编辑或插入到中DataSource's DataSet,并使新的或更改的数据自动出现在中DBGrid

于 2011-05-04T17:59:05.393 回答
1

有很多方法可以实现这一目标。我将描述两个:

  • 如果您将小窗口中的 DBEdits 链接到与 DBGrid 相同的 DataSource,那么您就完成了

或者

  • 您可以将任何您想要的信息DBGrid1DblClick从 Form1 传递到 Form2。这个选项本身就有很多可能性。

更新

为了使 DataSource 在 Form2 中可见,unit 使 Form2 的单位使用 Form1 的单位。

于 2011-05-04T18:03:01.087 回答