Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

ExpressQuantumGrid 5 .. доступ к ячейке   Найти похожие ветки 

 
barakuda ©   (2007-07-21 23:23) [0]

Уважаемые мастера

как в ExpressQuantumGrid 5 закрасить другим цветом ячейку по условью?

например чтобы все ячейки со словом "резерв" были зелёные

заранее благодарен...


 
turbouser ©   (2007-07-22 18:46) [1]

У колонки есть событие OnCustomDrawCell его и надо обрабатывать.
Выглядеть это будет примерно так:
procedure TForm1._Column_For_Draw_CustomDrawCell(Sender: TcxCustomGridTableView;
 ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: boolean);
begin
 ADone := True;
// Если имя поля = "а" и текст в текущей ячейке = "резерв" то закрашиваем
 with TcxGridDBColumn(AViewInfo.Item).DataBinding.Field do
 begin
   if (FieldName = "a") and (AViewInfo.Text = "резерв") then
     ACanvas.Brush.Color := clGreen;
   ACanvas.FillRect(AViewInfo.ClientBounds);
   ACanvas.DrawText(AViewInfo.Text,
     AViewInfo.TextAreaBounds, cxAlignHCenter);
 end;
end;


 
ari_9   (2007-07-25 15:33) [2]

подниму этот вопрос

есть ли более "прямой" способ при отрисовке ExpressQuantumGrid обратиться к значению не того поля таблицы, которое в данной ячейке, а другого, недели этот:

cxGridDBColumn(ACellViewInfo.Item).DataBinding.Field.DataSet.FieldByName("***ДРУ ГОЕ ПОЛЕ***").Value

?


 
turbouser ©   (2007-07-25 15:52) [3]


> ari_9   (25.07.07 15:33) [2]

Вот так:
AViewInfo.GridRecord.DisplayTexts[index]
только index колонки надо будет вычислять, т.к.
при перемещении ее юзером индекс изменится.


 
turbouser ©   (2007-07-25 15:56) [4]


> ari_9   (25.07.07 15:33) [2]

И, к стати, ...Field.DataSet.FieldByName("***ДРУ ГОЕ ПОЛЕ***").Value
выдаст неправильное значение, т.к. не обязательно текущая запись
прорисовывается.


 
ari_9   (2007-07-25 16:07) [5]

хорошо, тогда поставим вопрос иначе

в cxGridDBTableView есть поле B, которое не отображается (Visible = False). в зависимости от его значения должен меняться стиль соответствующей ячейки поля А. как это возможно сделать ?


 
turbouser ©   (2007-07-25 17:04) [6]


> ari_9   (25.07.07 16:07) [5]
>
> хорошо, тогда поставим вопрос иначе

Не проверял, но должно подойти:
TcxDataController(Sender.Controller).Values[AViewInfo.GridRecord.RecordIndex,_ин декс_скрытой_ячейки_];
т.е. это и будет значение поля в скрытой ячейке


 
Lacmus ©   (2007-07-25 17:50) [7]


procedure TForm2.cxGrid1DBTableView1FIRST_NAMECustomDrawCell(
 Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
 AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
 if aViewInfo.GridRecord.Values[cxGrid1DBTableView1FIRST_NAME.Index] = "Debra" then
   ACanvas.Brush.Color := clRed
end;


 
ari_9   (2007-07-25 21:16) [8]

спасибо, помогло


 
barakuda ©   (2007-07-25 22:43) [9]

Lacmus, спасибо - ОЧЕНЬ помогло



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
2-1194237848
Masher
2007-11-05 07:44
2007.12.02
Консольный калькулятор


2-1194692484
GSC
2007-11-10 14:01
2007.12.02
Переименование ключа


15-1193726252
boriskb
2007-10-30 09:37
2007.12.02
Научитесь программировать за десять лет


15-1194093107
Булат Шакиров
2007-11-03 15:31
2007.12.02
Бушков А.А. как историк ;)


15-1193628138
Slider007
2007-10-29 06:22
2007.12.02
С днем рождения ! 29 октября 2007 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский