我正在制作一个用于汽车零件店的简单程序。以下是它的外观:Link
问题是左边的小窗口。双击主窗口中DBGrid中的任何行时应该打开它,它应该在DBEdit字段中显示所有选定项的特征。如果单击“保存”按钮,则应将DBEdit字段中的更改保存到数据库中,否则应忽略更改。
我通过使用以下代码双击DBGrid中的字段来成功打开另一个表单:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if not Assigned(Form2)
then Form2 := TForm2.Create(Application);
Form2.Show;
end;
现在唯一的问题是如何让程序检测DBGrid中的哪一行被选中,然后在较小的窗口中的DBEdit字段中显示其内容。
有人能告诉我怎么做吗?
谢谢!
答案 0 :(得分:2)
只需将TDBEdits
添加到TForm2
,然后将其与DataSource
正在使用的DBGrid
相关联即可。它们会自动显示DBGrid
中所选行的同一行的内容,您可以编辑或插入DataSource's
DataSet
,并在DBGrid
中显示新的或更改的数据{1}}自动。
答案 1 :(得分:1)
有很多方法可以实现这一目标。我将描述两个:
OR
DBGrid1DblClick
内的任何信息从Form1传递到Form2。这个选项本身就有很多种可能性。<强>更新强>
要使Form2中的DataSource可见,请使Form2的单元使用Form1的单元。