我有一个带有dbgrid的表单和带有dbedits的第二个表单。我的dbgrid表单有一个双击事件(下面的代码是事件)第二个表单上的dbedits有一个连接到第一个表单的CDS的数据源,当我编译并运行程序并使用db grid打开表单时我可以双击任何记录,它显示在第二个表单上的dbedits中,但如果我关闭表单并重新打开表单,将在第二个表单中显示的唯一记录dbedits是表中的第一个记录。我必须打开和关闭CDS,这是行不通的。我还需要做些什么来纠正这个问题。
procedure TFRM_ADMIN.DBGrid1DblClick(Sender: TObject);
BEGIN
frm_LEADDETAILADMINLEAD := tfrm_LEADDETAILADMINLEAD.Create(FRM_ADMIN);
frm_LEADDETAILADMINLEAD.SHOW;
END;
该网站不允许我添加dmf文本。它很大。我正在使用sqlconnection,sqlquery,数据集提供程序,客户端数据集,数据源设置,如果这有助于任何。
答案 0 :(得分:0)
这是一个非常疯狂的问题,但我怀疑以下内容:
您可以按照FRM_ADMIN
的方式创建frm_LEADDETAILADMINLEAD
,例如:
FRM_ADMIN := TFRM_ADMIN.Create(MainForm);
FRM_ADMIN.Show;
您不会关闭此表单,但会将其隐藏(表单的默认关闭操作)。
DataSet
的设计时设置DataSource
属性会自动解析为第一个表单的第一个实例上的ClientDataSet。解决方案和建议:
Action := caFree
事件中销毁表单(设置OnClose
)。进一步阅读: