|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Закрасить строку DBGrid
Помогите пожалуйста, закрасить полностью строку, где попадает мое условие
у меня закрашивается только одна ячейка, а нужно закрасить всю строку!!!! Делаю так Код:
if Column.FieldName = 'Статус' then begin if (Column.Field.AsString = 'Выполнено') then begin with DBGrid.Canvas do begin Brush.Color:=clGreen; Font.Color:=clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; end; результат |
#2
|
||||
|
||||
не проверяй столбец и значение поле бери из набора
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
не понял, поясни пожалуйста
|
#4
|
||||
|
||||
первую строчку удали, а третью замени на
Код:
if Column.Field.DataSet.FieldByName('Статус').AsString='Выполнено' then Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
ApxaHGe1 (17.03.2016)
|
#5
|
|||
|
|||
Код:
if Column.Field.DataSet.FieldByName('Статус').AsString='Выполнено' then begin with DBGrid.Canvas do begin Brush.Color:=$00FF77; Font.Color:=clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; --------------------------- Debugger Exception Notification --------------------------- Project KiP.exe raised exception class EDatabaseError with message 'ADOQuery1: Field '' not found'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- не пойму причем тут ADOQuery1 в этой адошке у меня вообще другие запросы выполняются Последний раз редактировалось ApxaHGe1, 18.03.2016 в 12:11. |
#6
|
||||
|
||||
ну так смотри почему FieldByName не находит поле. может ему кириллица не нравится. на худой конец к полю можно по индексу обратиться. можно еще Column.Field на пустоту проверить, хотя без этого работает в большинстве случаев.
Пишу программы за еду. __________________ |
#7
|
|||
|
|||
Если без дебагера запустить и ошибки через окей пропустить то он закрпсит все .. но почему ошибки эти
|
#8
|
||||
|
||||
в смысле закрасит все? все записи все зависимости от значения поля Статус? а если весь код в обработчике события закомментарить ошибка будет?
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
Закрасит те строки где выполнено!!! Просто ошибка берется до тех пор и выводит ее. Пока не дойдет до поля статус!
|
#10
|
|||
|
|||
И еще такой момент... можно как цвет поля сохранить при редактиповании? Т.е если оно зеленое. То при редактировании становится белое... как этого избежать
|