09-06-2020, Saat: 18:18
Quantum Grid(CxGrid) içinde CustomDrawCell ile belirli kritere uyan satırların tamamını veya belirli kriterlere uyan satırdaki bir veya birkaç hücreyi boyama yapmak istediğimde doğru sonucu alamıyorum. Neyi eksik yapıyorum anlamadım.
procedure TfrmX.grdXCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); AMultiLine, AShowEndEllipsis: Boolean; begin if kosullu boyama olmalı then begin //x hücresinde font rengi kırmızı olsun. Fakat X hücresini nereden anlarım. AViewInfo veya Sender ile mi? AMultiLine := False; AShowEndEllipsis := True; ACanvas.Font.Color := clRed; ACanvas.DrawTexT(AViewInfo.Text, AViewInfo.Bounds, taLeftJustify, vaCenter, AMultiLine, AShowEndEllipsis); //buradaki boyama çalışıyor fakat. boyaması gereken satır haricindekileride anlamsız bir şekilde boyuyor. end; end; //aşağıdaki kod doğru çalışırken neden yukarıdaki klasik gird renklendirme için kullanılan drawcell işlemini doğru bir şekilde yapamıyorum. procedure TfrmImlBitAgirlikSaseleri.grdTVBaseStylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; var AStyle: TcxStyle); begin //burada boyama işlemi doğru bir şekilde oluyor. //fakat burada da "ARecord.Values[1]" bu şekilde kullanmak istemiyorum dinamik olmalı kolonların sırası değişebilir. Burası unutalabilir. //bu nedenle ben field name bilgisini referans alarak işlem yapamaz mıyım? if ARecord.Index > 0 then begin if ARecord.ValueCount > 0 then begin if ((ARecord.Values[1]) = True) then //iptal edilenler kırmızı renkle gösterilsin AStyle := cxstylRed; end; end; end;
PostgreSQL - Linux - Delphi, Poliüretan

