Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Картинка в столбце DbGridEh по определенному условию. [D7, MSSQL]


denik ©   (2005-01-13 01:48:00) 

Как мне поместить в определенный столбец картинку из TImageList при выполнении определенного условия.

В DbGridEh картинка почему то не выводится.

procedure ...DrawColumnCell(...

if DataSource.DataSet.FieldByName('org_email').AsString <> '' then
begin
    imgList.Draw(TDBGridEh(Sender).Canvas,Rect.Left,Rect.Top, 2);
end;

...
end;


HSolo   (2005-01-13 10:49:00) [1]

>Johnmen ©   (13.01.05 09:16) [3]
>Это ты про свою программу...:)
Ага :) А также про ту демку, которая идет с EHlib.
Я просто предлагаю другой вариант решения задачи - с учетом того, что используется DbGridEh. Какой вариант выбрать - решать автору вопроса :)


Erik1   (2005-01-13 10:48:00) [2]

В [2] более стандартное решение.


denik   (2005-01-13 10:06:00) [3]

>> Johnmen ©   (13.01.05 09:09) [1]

Спасибо огромное, помогло. :))


ЮЮ   (2005-01-13 09:35:00) [4]

>Johnmen ©   (13.01.05 09:09) [1]
Типа на "неочищенном" прямоугольнике не рисуются? :)

Может DefaultDrawing не отключил?


Johnmen   (2005-01-13 09:16:00) [5]

>HSolo ©   (13.01.05 09:14) [2]
>В Вашем DataSet должно быть поле, содержащее индексы нужных картинок

Это ты про свою программу...:)


HSolo   (2005-01-13 09:14:00) [6]

Есть YourImageList, в нем есть картинки, у картинок есть индексы.
В Вашем DataSet должно быть поле, содержащее индексы нужных картинок. Выводите это поле в том самом "определенном столбце" и укажите его свойства:
1) DbGridEh.Columns[i].ImageList := YourImageList;
2) DbGridEh.Columns[i].KeyList - перечислите индексы из Вашего ImageList


Johnmen   (2005-01-13 09:09:00) [7]

Сначала
TDBGridEh(Sender).Canvas.FillRect(Rect);
потом
imgList.Draw(TDBGridEh(Sender).Canvas,Rect.Left,Rect.Top, 2);


Наверх

Титульная страница Поиск, карта сайта Написать письмо