Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Как загрузить картинку в DBGrid!!!!


Автор: Dron84 8.12.2005, 17:50
У меня в таблице есть булевое поле, при открытии базы происходит инициализация поля на прай, если он есть то переписыаем поле с False на True, а в приложении в DBGrid'е в первом столбце толна отображаться иконка в тех полях, которым было присвоено значение True, но иконка не отображается... Как сделать?

Автор: bas 8.12.2005, 18:15
http://www.citforum.ru/programming/advice/advice04.shtml

Автор: Dron84 8.12.2005, 19:10
bas
у меня открывается пустая страница по этой ссылке smile

Автор: sexton 9.12.2005, 10:17
Dron84 в EhLib есть такая фича - назначение различных картинок в ячейку по значению boolean поля

Автор: Dron84 9.12.2005, 13:50
sexton
я знаю, но у меня нет возможности использовать EhLib... smile

Автор: offline 9.12.2005, 17:00
а теперь откроется?

http://www.citforum.ru/programming/advice/advice04.shtml

Автор: Dron84 9.12.2005, 17:06
kirilllius
я делаю так
Код

var
 Price: TBitMap;
begin
     Price := TBitMap.Create;
     Price.Transparent := true;
     if FileExists(GetEXEPath + 'List.bmp') then
       Price.LoadFromFile(GetEXEPath + 'List.bmp');
end;



далее в OnDrawColumnCell пишу
Код

procedure TOrgAlphabet.OrgListDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if (Column = OrgList.Columns[0]) and
     (data.TOrgan.FieldByName('PriceList').AsBoolean) then
       begin
         OrgList.Canvas.Draw(Rect.TopLeft.x, Rect.TopLeft.y, MainForm.Price);
         OrgList.Cursor := crHandPoint;
       end;
end;


но картинки нет smile
в чём весь прикол, в D5 картинка отображается нормально, специально сейчас проверил, а в D7 её нет smile

но картинки нет

Автор: Dron84 12.12.2005, 19:49
Народ, подскажите, что можно сделать, please!!!!

Автор: offline 12.12.2005, 19:52
а у тебя стоит Update на D7 может из за него проблема?

Автор: Dron84 12.12.2005, 19:56
Цитата
а у тебя стоит Update на D7 может из за него проблема?

стоит, последний, какой только был....

А у тебя стоит обновление?

Автор: offline 12.12.2005, 19:57
да, стоит, а без него проблем куча была

Автор: Dron84 12.12.2005, 19:59
да я знаю, слушай, попробуй мой код у себя на машине, может у тебя будет работать...
ну так то по сути, в коде ошибок нет...
а в чём проблема не могу понять... smile

Автор: offline 12.12.2005, 20:01
глянем

Автор: Dron84 12.12.2005, 20:02
я в начале думал на размеры картинки, но ничего так и не решилось smile

Автор: offline 12.12.2005, 20:16
я сделал следующее и у меня все работает

Код

 if (Column.FieldName = 'Изображение')
  then begin
   DBGrid1.Canvas.Draw(Rect.TopLeft.x, Rect.TopLeft.y, Image1.Picture.Bitmap);//Image1.Picture.Bitmap здесь битмап объект
   DBGrid1.Cursor := crHandPoint;
  end;


Автор: Dron84 12.12.2005, 23:34
kirilllius
так у меня тоже битмап....
тоесть ты клонешь к тому, что картинка в PRICE не загружается smile

Автор: offline 13.12.2005, 01:19
проверь содержимое Price

Автор: Dron84 13.12.2005, 15:04
kirilllius
картинка в Price есть, а гриде нет smile

Автор: Dron84 17.12.2005, 11:13
Народ, что делать то мне с гридом и картинкой, так я и не смог её туда загнать... smile

Автор: sexton 19.12.2005, 10:27
Возьми исходник EhLib и глянь smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)