Используя Delphi 2010 и компонент TStringGrid, я в настоящее время отображаю пять полей из запроса к базе данных.
Вот упрощенный пример того, что я делаю
// устанавливаем сетку
procedure TGriddata.FormCreate(Sender: TObject);
begin
grdMain.Rows[0].commatext:='"One","Two","Three","Four","Five"';
grdMain.ColWidths[0]:= 50;
grdMain.ColWidths[1]:= 175;
grdMain.ColWidths[2]:= 175;
grdMain.ColWidths[3]:= 100;
grdMain.ColWidths[4]:= 300;
end;
// отображаем данные в сетке // обратите внимание, я не показываю создание, выполнение или уничтожение запроса
procedure TGriddata.load;
begin
...
grdMain.Cells[0,row]:= FieldByName('one').AsString;
grdMain.Cells[1,row]:= FieldByName('two').AsString;
grdMain.Cells[2,row]:= FieldByName('three').AsString;
grdMain.Cells[3,row]:= FieldByName('four').AsString;
//draw progress bar here
...
end;
В одном из столбцов («Пять») должна отображаться темно-синяя горизонтальная полоса в столбце. Он также должен отображать некоторый текст по центру панели. У меня нет опыта использования пользовательского чертежа. Какие свойства я могу установить, чтобы только пользовательское рисование одного столбца и использование рисунка по умолчанию для других столбцов?