Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение иконок в TDBGrid и TDBGridEh, как реализовать это для TDBGridEh? 
:(
    Опции темы
eddoc
Дата 2.2.2006, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Использую БД Акцесс 2003/TADOQuery/D7

Проблема в следующем:

при прорисовке в ячейках компонента TDBGrid c помощью
Код

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin

if (Column.FieldName = 'PoleNum') then
  begin
  TDBGrid(Sender).Canvas.FillRect(Rect);
  MyImageList.Draw(TDBGrid(Sender).Canvas,Rect.Left,Rect.Top,0);
  end;

end;

все отображается отлично.

Но стоит попробовать применить выше означенный код к компоненту TDBGridEh от EhLib
Код

procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;  const Rect: TRect; DataCol: Integer; Column: ColumnEh; State: TGridDrawState);

begin

if (Column.FieldName = 'PoleText') then
  begin
  TDBGridEh(Sender).Canvas.FillRect(Rect);
  MyImageList.Draw(TDBGridEh(Sender).Canvas,Rect.Left,Rect.Top,1);
  end;

//перерисовываем сетку
TDBGridEh(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);

end;

то никаких картинок не отображается.

То, что получается воочию, можно посмотреть тут
http://aasso.de/club30/eddoc/MySelf/Images/ScreenGrids.jpg

В инете откопал статью А.Финка, где указывается,что для компонента TDBGridEh используются свойства Column[n].ImageList (это ImageList), Column[n].KeyList (строка-значение поля). Но вот как их применить в этом коде, честно говоря, не допер.

Кто-нить может помочь горе-программисту? ))
PM MAIL   Вверх
Vas
Дата 6.2.2006, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Вот код рисует без проблем, в зависимости от значения поля 'Error_run':
Код

Procedure TOsnForm.DBGEhAllPhoneDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
Begin
  if (Column.Index=0) AND (TDBGridEh(Sender).DataSource.DataSet.FieldByName('Error_run').AsInteger<>0) then
    ImageList1.Draw(TDBGridEh(Sender).Canvas, Rect.Left, Rect.Top, TDBGridEh(Sender).DataSource.DataSet.FieldByName('Error_run').AsInteger+3);
End;



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.