AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2014, 02:47   #1  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
2009 AX, Вставка в grid нескольких изображений
Кто-нибудь решал задачу, по вставке в одну колонку grid'а сразу нескольких изображений(в ряд)? (Вставка изображений в grid в разные колонки не интересует) Возможно ли это в Axapt'е ? Может какие-то манипуляции с контролом Window или сторонние методы?
Старый 16.09.2014, 07:28   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Не решал. В стандарте примеров этому нет, а это повод задуматься точно ли оно надо
Чем это должно отличаться от одной длинной/широкой картинки. Вы хотите управлять результатом, собирая из маленьких картинок разные комбинации? Сколько всего возможно таких комбинаций? Может действительно проще будет заранее их сгенерировать и потом работать как с одной картинкой?
Старый 16.09.2014, 09:29   #3  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Да, результатом колонки должна быть комбинация из 3-5 маленьких картинок, которая получается после 3-5 запросов в базу (картинок и запросов может быть больше, некоторые атрибуты записи БД). Даже если каждый атрибут будет иметь 2 возможных значения, то комбинаций будет не так много, но для 5 атрибутов уже 2^5, а атрибутов может быть и больше. Еще примерно столько проверок результата запросов, чтобы присвоить нужную картинку. Поэтому хотелось бы с помощью одного отдельного запроса получать одну картинку и вставлять ее в грид в ряд других.
Старый 16.09.2014, 09:36   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Задача теперь понятна. Только не понятно почему вы не хотите для каждого атрибута использовать отдельную колонку?
Старый 16.09.2014, 09:53   #5  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Возможно, если не найдется никакого другого решения, придется сделать для каждого атрибута отдельную. Пока задача передо мной стоит именно так) Был бы у grid'а контрол аналогичный ListView.
Старый 16.09.2014, 09:54   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Сколько строк в таком гриде будет?
Сортировка и фильтрация по атрибутам не нужна?

Можно сформировать свой ImageList из любых картинок и выводить в поле изображение из этого списка, но только одно.
Старый 16.09.2014, 10:06   #7  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Строк в гриде столько, сколько введут пользователи в базу записей. То есть на форму будут выводится все записи и в отделой колонке атрибуты(комбинация картинок). Соответсвено сортировку по атрибутам будет сделать невозможно и не нужно. С одной картинкой из ImageList все понятно, но нужна комбинация.
Старый 16.09.2014, 11:31   #8  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
а что мешает сгенерить 32 картинки (комбинации) и сложить их в ImageList?
Старый 16.09.2014, 11:50   #9  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Такое уже предлагали выше: Это для каждой таблицы со своими картинками, со своим набором атрибутов записи формировать картинки, как уже писал, для каждой картинки свой код( условия на результаты запроса, вероятней всего тоже 32). Для отдельно взятой задачи это сделать можно, но как-то это поддерживать или распространять на другие задачи проблематично. Даже если еще один атрибут добавится, нужно еще в два раза увеличить число картинок и к каждой присоединить изображение.
Старый 17.09.2014, 10:22   #10  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Как вариант, можно использовать HTML контрол и нарисовать все что угодно
Это только если не нужна сортировка, выделение записи и прочие прелести работы с гридом.
Старый 17.09.2014, 10:46   #11  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Можно по подробней про работ у с 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  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
А еще как в грид в AX 2009 вставить HTML контрол?
Старый 17.09.2014, 11:11   #13  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Просто вместо 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 is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Спасибо, буду пробовать)

Последний раз редактировалось Mutnyi; 17.09.2014 в 11:34.
Старый 17.09.2014, 14:10   #15  
Mutnyi is offline
Mutnyi
Участник
 
12 / 10 (1) +
Регистрация: 16.09.2014
Не подходит, придется еще и грид рисовать, как-то заполнять с помощью запросов(
Старый 17.09.2014, 14:31   #16  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
вспомнилась почему-то сказка про дудочку и кувшинчик
Старый 17.09.2014, 14:57   #17  
Krash is offline
Krash
Участник
Аватар для Krash
 
17 / 15 (1) ++
Регистрация: 23.08.2005
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
вспомнилась почему-то сказка про дудочку и кувшинчик
В этой сказке мораль - никогда никому не рассказывай про дудочку!
Старый 17.09.2014, 15:51   #18  
alexkrut is offline
alexkrut
Участник
 
20 / 33 (2) +++
Регистрация: 19.12.2011
;) А тем временем...
Всем спасибо, решение найдено.

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";
}
Единственная проблема сейчас - deleteObject не удаляет битмапы корректно, но это уже сами решим).
За это сообщение автора поблагодарили: S.Kuskov (1).
Теги
grid, image, windows

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
Генератор скриптов конвертации базы Axapta 3.0 в базу AX 2009 gl00mie DAX: Программирование 1 14.08.2011 20:05
axforum blogs: Квест: Подружим Dynamics Ax 2009 Sp1 RU7 c SharePoint Foundation 2010 - Этап 2 Blog bot DAX Blogs 0 12.07.2011 14:11
Arijit Basu: AX 2009 Documents Blog bot DAX Blogs 0 30.08.2008 13:05
gl00mie: Dynamics AX 2009 Guides and White Papers Blog bot DAX Blogs 0 13.08.2008 20:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:31.