Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Закрашивание ячеек в TcxGrid


Автор: killerbean 13.4.2007, 10:27
У меня есть таблица следующего вида
-------------------------
-  Дата  -  Статус  -
-------------------------

как можно в зависимости от значения "статуса" (1,2,3...) закрашивать ячейку "Дата" в определённый цвет? Я так понял надо обрабатывать событие OnCustomDrawCell, но как это правельно сделать я не знаю. Подскажите пожалуйста

Автор: _hunter 13.4.2007, 11:06
просто в этой ячейке получай текущее значение (хоть через Cells) и в зависимости от это крась...

Автор: killerbean 13.4.2007, 11:17
Цитата

просто в этой ячейке получай текущее значение (хоть через Cells) и в зависимости от это крась...

это понятно, но как это сделать???

нашел вот такой код
Код

procedure TConvertDBGridDemoMainForm.cxGridDBTableView1CustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
  if (AViewInfo.Item.DataBinding.FilterFieldName = 'STATUS') and (AViewInfo.Value = 1)  then
  ACanvas.Font.Color:=clRed;
end;

но так я могу закрасить ячейку статуса, а мне надо именно дату. Может его как-то можно модифицировать под мою задачу?

Автор: _hunter 13.4.2007, 11:55
ну так у тебя проверка идет на ячейку статуса...
тут нужно не текущую ячейку проверять а именно по координатам обращаться к какой-нить CurrentCol - 1 (не знаю как это в этой сетке выглядит)

Автор: killerbean 13.4.2007, 12:12
так вот и я не знаю есть ли тут какой-то "CurrentCol" или что-то типа того, и как к нему обратится :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)