Как изменить цвет строки в DBGrid (исходники)

Компилятор: C++ Builder

Этот пример демонстрирует, как изменить фоновый цвет определённых строк, а точнее выделяет все строки, содержащие South America жёлтым цветом.

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);
}

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=25065