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
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to