powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
7 сообщений из 7, страница 1 из 1
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727534
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну т.е. если картинка в поле таблицы есть, то она отображается в TcxDBImage, а вот если нет, то выводится фиксированная картинка - типа ушла на базу.
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727577
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант - прятать контрол, за которым должна стоять картинка "ушла на базу".
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727582
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать не дб-контрол, а обычный и грузить туда картинку. Проверять можно по пустому значению в поле, либо размер загруженной в контрол изображения -- он будет нулевым.
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727598
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

может у него (контрола) событие что-нибудь типа OnCustomDraw есть?

А еще можно наследника в этом юните определить, с ием же именем класса (это хак такой) и перегружать событие отрисовки

Или вообще свой класс на основе TcxDBImage написать, установить его в палитру компонентов и пользоваться во всех проектах.
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727616
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет нифига. Очень мне не хочется события датасета для этих целей задействовать, но видимо придется. Других вариантов не находится. Попробую скачать триальную версию девок и под это дело саппорт спросить, может дадут решение.
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727621
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

техподдержка у девок бесплатная, подскажут без проблем.
...
Рейтинг: 0 / 0
Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
    #39727637
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтрадалецъНу т.е. если картинка в поле таблицы есть, то она отображается в TcxDBImage, а вот если нет, то выводится фиксированная картинка - типа ушла на базу.
Контрол TcxDBImage, как и просто TcxImage, имеет паблик - свойство "картинка":

Код: pascal
1.
    property Picture: TPicture read GetPicture write SetPicture;



... а TPicture умеет загружаться из файлов:
Код: pascal
1.
2.
public
    procedure LoadFromFile(const Filename: string);


...и из потоков:
Код: pascal
1.
2.
protected
    procedure LoadFromStream(Stream: TStream);



Таким образом, при использовании TcxDBImage, задача решается, например, так:
- в событии OnDataChange источника данных (TDataSource) или в соответствующем событии набора данных (TDataSet) проверяем графическое поле на "пусто":
Код: pascal
1.
2.
3.
procedure TMyClassForm.MyDataSourceDataChange(Sender: TObject; Field: TField);
begin
  if MyDataSet_ImageField.IsNull then



и, если оно пусто - грузим картинку из файла:

Код: pascal
1.
2.
  
   MycxDBImage.Picture.LoadFromFile('C:\Images\GoneToTheBase.bmp');



Или из потока:
Код: pascal
1.
  TStreamedPicture(MycxDBImage.Picture).LoadFromFile(MySuperPuperStream);


...в последнем варианте не забываем обеспечить себе доступ к защищенному члену класса:
Код: pascal
1.
2.
type
  TStreamedPicture = class (TPicture);
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как бы отобразить в TcxDBImage картинку для пустого значения в базе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]