MSMK Posted September 3, 2018 Share Posted September 3, 2018 Возможно ли в DBGrid закрасить конкретную строку? на данный момент нашел только возможность закрасить ячейку Link to comment Share on other sites More sharing options...
MSMK Posted September 3, 2018 Author Share Posted September 3, 2018 procedure TfrmEdtRetSale.undbgrdPayDrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs); begin if qryPaymentsVISIBLE.Value=0 then begin Attribs.Font.Style:=[fsStrikeOut]; Attribs.Color:=clRed; end; end; Спасибо! Все работает Link to comment Share on other sites More sharing options...
Tokay Posted September 3, 2018 Share Posted September 3, 2018 Странный какой-то код. Мне кажется, что нужно так: procedure TfrmEdtRetSale.undbgrdPayDrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs); begin if ARow=0 then begin Attribs.Font.Style:=[fsStrikeOut]; Attribs.Color:=clRed; end; end; Link to comment Share on other sites More sharing options...
baha Posted June 14, 2019 Share Posted June 14, 2019 Уважаемый Токай, скажи пожалуйста, а как мне выделить не конкретную строку. А строку в которая определенная ячейка имеет определенное значение (значение меньше 20 например). if Column.FieldName = 'KOEF' then begin Attribs.Color := RGB(219, 248, 255); if Column.Field.AsInteger > 20 then begin if ARow = 0 then begin Attribs.Font.Color := clRed; Attribs.Color := RGB(219, 248, 255); end; end; end; По данному коду он выделит мне эту ячейку в поле KOEF, а мне надо ячейку рядом выделить, ну или хотя бы всю строку. Link to comment Share on other sites More sharing options...
Tokay Posted June 14, 2019 Share Posted June 14, 2019 Quote А строку в которая определенная ячейка имеет определенное значение (значение меньше 20 например). тут традиционно важно понимать, что данные хранятся не в гриде, а в наборе данных. из этого и исходить: if DataSet.FieldByName('COEFFICIENTS').AsInteger > 20 then ...... ну и дальше красить на что хватает фантазии. Link to comment Share on other sites More sharing options...
baha Posted June 14, 2019 Share Posted June 14, 2019 От души брат. Шерзод вот такое подсказал: if Column.Field.DataSet.FieldByName('KOEF').AsInteger > 20 then begin Attribs.Color := RGB(230, 184, 183) end; Спасибо! Link to comment Share on other sites More sharing options...
baha Posted July 6, 2019 Share Posted July 6, 2019 On 9/3/2018 at 3:49 PM, =GGG= said: Возможно ли в DBGrid закрасить конкретную строку? на данный момент нашел только возможность закрасить ячейку А у меня все наоборот. Надо ячейку закрасить, а я знаю, как закрасить всю строку. Не подскажешь? Link to comment Share on other sites More sharing options...
stas Posted July 13, 2019 Share Posted July 13, 2019 On 7/6/2019 at 6:56 PM, baha said: А у меня все наоборот. Надо ячейку закрасить, а я знаю, как закрасить всю строку. Не подскажешь? undbgrdPayDrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs); Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now