在其他窗体中使用主窗体中有关 DBGrid 的命令

发布于 2024-11-05 06:08:46 字数 560 浏览 4 评论 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 字段中显示其内容。

谁能告诉我该怎么做吗?

谢谢!

I'm making a simple program for use in automotive parts shop. Here's how it's supposed to look: Link

The problem is the small window on the left. It should be opened when double clicked on any of the rows in DBGrid in the main window, and it should show all of the selected item's characteristics in DBEdit fields. If the Save button is clicked it should save the changes from the DBEdit fields into the database, but otherwise it should just ignore the changes.

I succeeded opening another form by double click on a field in DBGrid by using this code:

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

The only problem now is how to get the program to detect which row in the DBGrid is selected and then show its contents in DBEdit fields in the smaller window.

Can anyone tell me how to do this, please?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阪姬 2024-11-12 06:08:46

只需将 TDBEdits 添加到 TForm2,并将它们连接到 DBGrid 所使用的相同 DataSource 即可。它们将自动显示在 DBGrid 中选择的同一行的内容,您可以编辑或插入到 DataSourceDataSet 中并获得新的或更改的数据自动出现在DBGrid中。

Just add the TDBEdits to TForm2, and connect them to the same DataSource as the DBGrid is using. They will automatically show the contents of the same row that is selected in the DBGrid, and you can edit or insert into the DataSource's DataSet and have the new or changed data appear in the DBGrid automatically.

请恋爱 2024-11-12 06:08:46

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

  • 如果您将小窗口中的 DBEdits 链接到与 DBGrid 相同的数据源,那么您就已经准备就绪

,或者

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

更新

为了使 DataSource 在 Form2 中可见,请更新单位以使 Form2 的单位使用 Form1 的单位。

There are many ways to achieve this. I'll describe two:

  • If you link the DBEdits in the little window to the same DataSource as the DBGrid's, then you are all set

OR

  • You can pass whatever info you want inside DBGrid1DblClick from Form1 to Form2. This option, by itself, has many possibilities.

Update

For the DataSource to be visible in Form2, unit to make Form2's unit use Form1's unit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文