16.09.2014, 02:47 | #1 |
Участник
|
2009 AX, Вставка в grid нескольких изображений
Кто-нибудь решал задачу, по вставке в одну колонку grid'а сразу нескольких изображений(в ряд)? (Вставка изображений в grid в разные колонки не интересует) Возможно ли это в Axapt'е ? Может какие-то манипуляции с контролом Window или сторонние методы?
|
|
16.09.2014, 07:28 | #2 |
Участник
|
Не решал. В стандарте примеров этому нет, а это повод задуматься точно ли оно надо
Чем это должно отличаться от одной длинной/широкой картинки. Вы хотите управлять результатом, собирая из маленьких картинок разные комбинации? Сколько всего возможно таких комбинаций? Может действительно проще будет заранее их сгенерировать и потом работать как с одной картинкой? |
|
16.09.2014, 09:29 | #3 |
Участник
|
Да, результатом колонки должна быть комбинация из 3-5 маленьких картинок, которая получается после 3-5 запросов в базу (картинок и запросов может быть больше, некоторые атрибуты записи БД). Даже если каждый атрибут будет иметь 2 возможных значения, то комбинаций будет не так много, но для 5 атрибутов уже 2^5, а атрибутов может быть и больше. Еще примерно столько проверок результата запросов, чтобы присвоить нужную картинку. Поэтому хотелось бы с помощью одного отдельного запроса получать одну картинку и вставлять ее в грид в ряд других.
|
|
16.09.2014, 09:36 | #4 |
Участник
|
Задача теперь понятна. Только не понятно почему вы не хотите для каждого атрибута использовать отдельную колонку?
|
|
16.09.2014, 09:53 | #5 |
Участник
|
Возможно, если не найдется никакого другого решения, придется сделать для каждого атрибута отдельную. Пока задача передо мной стоит именно так) Был бы у grid'а контрол аналогичный ListView.
|
|
16.09.2014, 09:54 | #6 |
----------------
|
Сколько строк в таком гриде будет?
Сортировка и фильтрация по атрибутам не нужна? Можно сформировать свой ImageList из любых картинок и выводить в поле изображение из этого списка, но только одно. |
|
16.09.2014, 10:06 | #7 |
Участник
|
Строк в гриде столько, сколько введут пользователи в базу записей. То есть на форму будут выводится все записи и в отделой колонке атрибуты(комбинация картинок). Соответсвено сортировку по атрибутам будет сделать невозможно и не нужно. С одной картинкой из ImageList все понятно, но нужна комбинация.
|
|
16.09.2014, 11:31 | #8 |
----------------
|
а что мешает сгенерить 32 картинки (комбинации) и сложить их в ImageList?
|
|
16.09.2014, 11:50 | #9 |
Участник
|
Такое уже предлагали выше: Это для каждой таблицы со своими картинками, со своим набором атрибутов записи формировать картинки, как уже писал, для каждой картинки свой код( условия на результаты запроса, вероятней всего тоже 32). Для отдельно взятой задачи это сделать можно, но как-то это поддерживать или распространять на другие задачи проблематично. Даже если еще один атрибут добавится, нужно еще в два раза увеличить число картинок и к каждой присоединить изображение.
|
|
17.09.2014, 10:22 | #10 |
Участник
|
Как вариант, можно использовать HTML контрол и нарисовать все что угодно
Это только если не нужна сортировка, выделение записи и прочие прелести работы с гридом. |
|
17.09.2014, 10:46 | #11 |
Участник
|
Можно по подробней про работ у с html контролом, какой метод нужно перекрывать или там есть специальное окно для ввода html кода, будет ли работать что-то подобное:
<html> <head> <meta charset="utf-8"> <title>Фотографии</title> </head> <body> <p> <img src="images/thumb1.jpg" alt="Фотография 1" width="120" height="120"> <img src="images/thumb2.jpg" alt="Фотография 2" width="120" height="120"> <img src="images/thumb3.jpg" alt="Фотография 3" width="120" height="120"> <img src="images/thumb4.jpg" alt="Фотография 4" width="120" height="120"> </p> </body> </html> - из примера втавки картинок для html |
|
17.09.2014, 10:54 | #12 |
Участник
|
А еще как в грид в AX 2009 вставить HTML контрол?
|
|
17.09.2014, 11:11 | #13 |
Участник
|
Просто вместо grid использовать HTML контрол. Примеры можно посмотреть воспользовавшись перекрёстными ссылками на FormHTMLControl (я так в Ах 3.0 делал)
На счет относительного пути к картинкам images/thumb1.jpg, я не уверен что так будет работать, скорее всего надо будет указывать абсолютный путь. А так можно делать много всего, по крайней мере что позволяет делать HTML. З.Ы. нашел в Ах 3.0 форму tutorial_HelpPane, на ней есть ActiveX в котором перекрыты 2а HTML события, т.е. можно даже onclick перекрывать в Ах. Сам не знал |
|
|
За это сообщение автора поблагодарили: Mutnyi (1). |
17.09.2014, 11:18 | #14 |
Участник
|
Спасибо, буду пробовать)
Последний раз редактировалось Mutnyi; 17.09.2014 в 11:34. |
|
17.09.2014, 14:10 | #15 |
Участник
|
Не подходит, придется еще и грид рисовать, как-то заполнять с помощью запросов(
|
|
17.09.2014, 14:31 | #16 |
Участник
|
вспомнилась почему-то сказка про дудочку и кувшинчик
|
|
17.09.2014, 14:57 | #17 |
Участник
|
|
|
17.09.2014, 15:51 | #18 |
Участник
|
А тем временем...
Всем спасибо, решение найдено.
X++: display FilePath imageView() { System.Drawing.Bitmap bmp; System.Drawing.Graphics gBmp; System.Drawing.Graphics gBmp2; System.Drawing.Color color; System.Drawing.SolidBrush brush; Image image = new Image(); int64 hBitmap; WinGDI winGDI; ; bmp = new System.Drawing.Bitmap(100, 50); if( this.path == "1" )//условие отрисовки картинки { color = System.Drawing.Color::FromArgb(0x99, 0xf0, 0xf0, 0); } else { color = System.Drawing.Color::FromArgb(0x99, 0xf0, 0, 0); } brush = new System.Drawing.SolidBrush(color); gBmp = System.Drawing.Graphics::FromImage(bmp); gBmp.FillEllipse(brush, 10, 10, 30, 30); gBmp2 = System.Drawing.Graphics::FromImage(bmp); gBmp2.DrawImage( System.Drawing.Image::FromFile( "S:\mf.jpg" ), 60, 10, 30, 30 ); hBitmap = bmp.GetHbitmap(); image.importBitmap(hBitmap); image.saveImage( @"S:\\tmpfile.gif" ); winGDI = new WinGDI( hBitmap ); winGDI.deleteObject( hBitmap ); return "S:\\tmpfile.gif"; } |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
Теги |
grid, image, windows |
|
|