Главная страница
    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.46 MB
Время: 0.043 c
15-1194176020
Evanescence
2007-11-04 14:33
2007.12.02
С жестким диском проблемы


15-1194259585
xayam
2007-11-05 13:46
2007.12.02
что скажите про этот хостинг


2-1194428093
allucard
2007-11-07 12:34
2007.12.02
тип данных


15-1194017562
TUser
2007-11-02 18:32
2007.12.02
Посоветйте принтер


15-1193777739
Принтер
2007-10-30 23:55
2007.12.02
Бытовые струйники энд лазерные притеры





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский