On Saturday 20 October 2018 11:34:36 mohamed hamza wrote:
> If you have many different "two grid pages" make a common
> ancestor which inherits from tbaseeditpagefo.
>
> It's Ok but the dbnav in baseform will not be aware of the change?
>
The common ancestor with the two grids has the code
"
procedure tdoublegridpagefo.enterev(const sender: TObject);
begin
editfo.dataso.dataset:= tdbwidgetgrid(sender).datalink.datasource.dataset;
end;
"
Probably the simplest solution for your case is the already showed use of
igriddatalink and idbeditfieldlink in onfocusedwidgetchanged event of
tbaseeditfo:
"
procedure tbaseeditfo.focusedwidgetchangedev(const oldwidget: twidget;
const newwidget: twidget);
var
intf1: idbeditfieldlink;
intf2: igriddatalink;
begin
if (newwidget <> nil) then begin
if newwidget.getinterface(idbeditfieldlink,intf1) then begin
dataso.dataset:= intf1.getfieldlink().dataset;
end
else begin
if newwidget.getinterface(igriddatalink,intf2) then begin
dataso.dataset:= intf2.getdatalink().dataset;
end;
end;
end;
end;
"
Martin
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk