Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка внешнего изображения в DBGrid, Загрузка внешнего изображения в DBGrid 
:(
    Опции темы
Aquanox
  Дата 6.8.2009, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеем:
- таблица №1 (Images с полями: ID, IMG_LINK), в которой храняться линки на картинки
- таблица №2 (Person с полями: ID, Images_ID, NAME и т.д.), в которой храняться данные по людям
- сами картинки
- Связь между таблицами №1 и №2 (Images.ID<-->Person.Images_ID)

Требуется:
- Как в таблице №2 создать "временную" колонку, которая будет показывать катринки соответствующего значения Images_ID в каждой строке таблицы №2?
- Куда и чего нужно прописать, если не трудно, то выложите не большой примерчик...
PM MAIL   Вверх
Frees
Дата 6.8.2009, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(Aquanox @  6.8.2009,  12:01 Найти цитируемый пост)
Как в таблице №2 создать "временную" колонку

Вычислимое поле создай и грузи в него картинку

Цитата(Aquanox @  6.8.2009,  12:01 Найти цитируемый пост)
то выложите не большой примерчик

если будет настроение может ченит накрвпаю....но не сейчас))



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Aquanox
Дата 6.8.2009, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Frees @  6.8.2009,  09:06 Найти цитируемый пост)
если будет настроение может ченит накрвпаю....но не сейчас))

Очень надеюсь, что такое настроение будет...
PM MAIL   Вверх
vovk
Дата 6.8.2009, 15:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ээ по моему классический TDBGrid не умеет отображать картинки... тут надо сторонними, ну или доробатывать грид
PM MAIL   Вверх
Frees
Дата 7.8.2009, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(vovk @  6.8.2009,  18:26 Найти цитируемый пост)
Ээ по моему классический TDBGrid не умеет отображать картинки

не умеет но дает возможность ее там нарисовать

событие DrawColumnCell

Код

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

begin
  if (Column.FieldName = 'IMAGE') then
  begin
    try
      //Рисуем картинку в клеточке грида
      Graph.Assign(TBlobField(TDBGrid(Sender).DataSource.DataSet.FieldByName('IMAGE')));
      TDBGrid(Sender).Canvas.StretchDraw(Rect, Graph.Graphic);
    except
    end;
  end;
end;


Добавлено @ 07:36
пример как сделать то что ты хочеш

Код

procedure TForm1.FormCreate(Sender: TObject); //Событие создание формы
begin
  with ADOQuery1 do
  begin
    OnCalcFields := ADOQuery1CalcFields;
  end;
  //Создаем вычислимое поле (тут проверить надо)
  with TBlobField.Create(ADOQuery1) do
  begin
    DataSet := ADOQuery1;
    FieldKind := fkCalculated;
    FieldName := 'IMAGE';
    Calculated := True;
  end;
end;

procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
//для примера гружу из файла
//IMAGE_FILE поле с именем файла
  TBlobField(ADOQuery1.FieldByName('IMAGE')).LoadFromFile(ADOQuery1.FieldByName('IMAGE_FILE').AsString);
end;


Это сообщение отредактировал(а) Frees - 7.8.2009, 07:43


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Aquanox
Дата 9.8.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за пример, буду разбираться....
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.1001 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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