【发布时间】:2016-05-02 15:48:04
【问题描述】:
我有一个包含许多表的 SQLite 数据库,其中一个名为“tblAccounts” 我有一个 dlgCommon,上面有一个 TDBGrid,带有 dbgridAccounts.DataSource:=srcAccounts
我还有其他几个对话框,有时所有这些对话框都需要单击一个按钮并显示帐户网格以从中选择一个帐户。而不是让许多表单都有自己的 TDBgrid.DataSource:=srcAccounts 我正在这样做......
procedure TdlgFolders.btnAcctSelClick(Sender: TObject);
begin
dlgCommon.pnlAccounts.Parent:=Self;
dlgCommon.pnlAccounts.Left:=dbedAccount.Left;
dlgCommon.pnlAccounts.Top:=dbedAccount.Top+dbedAccount.Height+2;
dlgCommon.pnlAccounts.Width:=190;
end;
当用户激活 dlgFolders 并单击“btnAcctSel”时,这一切都按照我的需要进行并显示了网格。但是,当用户单击 Grid-Cell 时,我不知道在哪里/如何放置 dbgridAccountsCellClick(Column: TColumn);处理程序。
我尝试将它放在 dlgCommon 中并编译,但没有使用,因为当 Grid 可见并且在其他对话框之一中单击单元格时,它不再是父级。
我宁愿继续使用单网格方法,因为用户可以设置列宽、行颜色等,我不想让他们在需要帐户网格的每个表单中都这样做。
如何重新分配 dlgCommon.AccountsCellClick 以便捕获点击并在 dlgFolders 和其他调用它的对话框中使用?
【问题讨论】:
-
在旁注中,您似乎误用了“对话”一词。我相信您的意思是一般地谈论表格; “对话框”是我不相信您在这里使用的表单的特定实现。