I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Når der indtastes en værdi i en celle for en given række i HyperGrid'et bliver der udregnet en Brutto Avance Procent, og er denne negativ skal alle rækkens celler have en rød baggrundsfarve men man skal stadig kunne se dataene i cellen. Efterfølgende skal de oprindelige farver i cellerne genoprettes når input dataene giver en positiv brutto avance :))
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if aRow <> aRowToColor then exit; StringGrid1.Canvas.brush.Color := clred; StringGrid1.Canvas.FillRect(Rect); end;
procedure TForm1.BitBtn1Click(Sender: TObject); var s : String; begin s := IntToStr(aRowToColor); if InputQuery('I der, Hest og Hund', 'Hvilken række skal farves rød ?', s) then aRowToColor := StrToIntDef(s, 2); StringGrid1.Repaint; end;
procedure TForm1.FormCreate(Sender: TObject); begin aRowToColor := -1; end;
Så prøv den her : procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if aRow <> aRowToColor then exit; if aRowToColor < 0 then exit; with StringGrid1 do begin Canvas.brush.Color := clred; Canvas.FillRect(Rect); Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, Cells[ACol, ARow]); end; end;
Det er ikke måden komponenten tegner cellen der er fusket - det er den omstændige måde man sætter en anden baggrundsfarve i en celle.
Det havde været nemmere med en property ala StringGrid1.Cells[1,1].Color:=clRed
:))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.