Index: AAPClient/UI/InfoLogScherm.pas =================================================================== diff -u -r101 -r105 --- AAPClient/UI/InfoLogScherm.pas (.../InfoLogScherm.pas) (revision 101) +++ AAPClient/UI/InfoLogScherm.pas (.../InfoLogScherm.pas) (revision 105) @@ -29,11 +29,15 @@ procedure btnVorigeClick(Sender: TObject); procedure btnVolgendeClick(Sender: TObject); procedure btnLaatstClick(Sender: TObject); + procedure actSchermRechtsExecute(Sender: TObject); + procedure actSchermLinksExecute(Sender: TObject); private ToonGescand: boolean; function ToeleveringDataOphalen(): ZoekViaToeleveringResponse; procedure VulGridMetToeleveringData(DnaCodes: array of DnaCode); procedure GridLeegmaken(); + function GridToontData: boolean; + procedure SwitchGrid(); public { Public declarations } end; @@ -45,6 +49,16 @@ {$R *.dfm} +procedure TfmInfoLogScherm.actSchermLinksExecute(Sender: TObject); +begin + SwitchGrid() +end; + +procedure TfmInfoLogScherm.actSchermRechtsExecute(Sender: TObject); +begin + SwitchGrid() +end; + procedure TfmInfoLogScherm.actSluitenExecute(Sender: TObject); begin inherited; @@ -97,10 +111,6 @@ Response: ZoekViaToeleveringResponse; begin inherited; - Self.ModalResult := mrInfoLog; - ToonGescand := not(ToonGescand); - Response := ToeleveringDataOphalen(); - VulGridMetToeleveringData(Response.DnaCodes); end; procedure TfmInfoLogScherm.btnEerstClick(Sender: TObject); @@ -144,7 +154,11 @@ inherited; btnLinksOnder.Action := actSluiten; btnCentraalOnder.Action := actOngedaanMaken; - btnRechtsOnder.Action := actVolgende; + if ToonGescand then begin + btnRechtsOnder.Action := actSchermRechts; + end else begin + btnRechtsOnder.Action := actSchermLinks; + end; lblToelevering.Caption := UiContext.Toelevering; Response := ToeleveringDataOphalen(); VulGridMetToeleveringData(Response.DnaCodes); @@ -205,6 +219,7 @@ end; if sgToeleveringData.RowCount > 2 then sgToeleveringData.RowCount := sgToeleveringData.RowCount - 1; + actOngedaanMaken.Enabled := GridToontData and ToonGescand; end; procedure TfmInfoLogScherm.GridLeegmaken; @@ -216,4 +231,30 @@ sgToeleveringData.RowCount := 2; end; +function TfmInfoLogScherm.GridToontData: boolean; +begin + result := false; + if sgToeleveringData.RowCount > 2 then + result := true; + if (sgToeleveringData.RowCount = 2) and (Trim(sgToeleveringData.Rows[1].Text) <> '') then + result := true; +end; + +procedure TfmInfoLogScherm.SwitchGrid; +var + Response: ZoekViaToeleveringResponse; +begin + inherited; + Self.ModalResult := mrInfoLog; + if ToonGescand then begin + btnRechtsOnder.Action := actSchermRechts; + end else begin + btnRechtsOnder.Action := actSchermLinks; + end; + Repaint; + ToonGescand := not(ToonGescand); + Response := ToeleveringDataOphalen(); + VulGridMetToeleveringData(Response.DnaCodes); +end; + end.