C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как изменить цвет строки в DBGrid  (Прочитано 1864 раз)
ivstepa
новенький


Сказали спасибо: +0/-0
Offline

Сообщений: 2


Как изменить цвет строки в DBGrid
« : 03 Октябрь 2015, 01:45:31 »

есть такой код
void __fastcall TFGlawnaya::DBGrid1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
TDataSet *dataset = Column->Field->DataSet;
   
    if(State.Contains(Grids::gdSelected))
    {
        DBGrid1->Canvas->Font->Color = clRed;
        DBGrid1->Canvas->Font->Style = TFontStyles()     }

    DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
но выделяется не вся строка, а только та ячейка в таблице, на которую щелкаешь, как сделать что бы выделялась вся строка независимо от того, куда сделан клик?
Записан
OVE
Участник


Сказали спасибо: +67/-0
Offline

Сообщений: 72


Re: Как изменить цвет строки в DBGrid
« Ответ #1 : 06 Октябрь 2015, 09:02:43 »

А в свойстве DBGrid1->Options пробовали устанавливать флаг dgRowSelect?
Записан
Admin
Администратор


Сказали спасибо: +22/-4
Offline

Сообщений: 286


« Ответ #2 : 15 Октябрь 2015, 17:19:48 »

DBGrid1->Canvas->Brush->Color = ...


Код
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
     const TRect &Rect, int DataCol, TColumn *Column,
     TGridDrawState State)
{    TDataSet *dataset = Column->Field->DataSet;
 
   // Если страна из Южной Америки, то выделяем её жёлтым
   if(dataset->FieldByName("Continent")->AsString == "South America")
   {
       DBGrid1->Canvas->Brush->Color = clYellow;
   }
 
   // Если ячейка выбрана, то делаем текст красным и жирным
   if(State.Contains(Grids::gdSelected))
   {
       DBGrid1->Canvas->Font->Color = clRed;
       DBGrid1->Canvas->Font->Style = TFontStyles() fsBold;
   }
 
   DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.046 секунд. Запросов: 21.