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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2011, 09:57   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Как добавить картинку в грид
В этом примере рассматривается один из вариантов отображения картинки в табличной части на форме.
Похожие примеры можно посмотреть на следующей форме и отчете

tutorial_Resources
tutorial_Resources

В примере есть следующий код

X++:
void init()
{
    int i,j;
    //container con;
    //Image img = New Image();
    ;

    super();

    for (i=1; i<60000; i++)
    {
        if (Image::validResource(i))
        {
            noOfRes++;
            a[noOfRes] = i;
        }
    }


    table.rows(noOfRes);

    for (i=1; i<=noofRes; i++)
    {
        table.cell(1,i).data(a[i]);
        table.cell(2,i).data(a[i]);
        table.cell(3,i).data(a[i]);

        // v-artemt, 7 Jul 2004
        // this code will work with the new kernel, not earlier then 6 Jul
        table.cell(4,i).data( Image::resourceType(a[i]) ? "ico" : "bmp");
    }

    table.setColLabel(1,"Resource ID");
    table.setColLabel(2,"Image");
    table.setColLabel(3,"Transparent image");
    table.setColLabel(4,"Image type");
}
Указанный метод «дергает» номер ресурса в бинарном файле.
Добавить собственное изображение достаточно просто
Для этого надо добавить в узел resource рисунок. В коде вы можете использовать только название ресурса, а не номер.
Вот пример использования собственного изображения

X++:
#resappl
public void init()
{
    ;
    /*
    new(int cx, int cy,transparent)
    cx - The width that the images in the list will have, in pixels.
    cv - The height that the images in the list will have, in pixels.
    transparent - If set to true, the image is drawn transparently, using the mask, regardless of background color.
    */
    imageList =  new ImageList(16,16, true);
    super();
    Image = new Image();
    Image.loadImage(SysResource::getImagePath(ResourceStr(hom_GIF)));
    imageList.add(Image);// element 0
    Image = new Image(#Imagefactory);
    imageList.add(Image);// element 1
    /*
    replace standart imagelist with custom
    */
    CustImage.imageList(imageList);
}
Окончательно меняем метод вывода изображения
X++:
display int Tutorial_CusImage (Tutorial_CusImage _Tutorial_CusImage)
{
     if (_Tutorial_CusImage.SimpleField==0)
        return 0;
     if (_Tutorial_CusImage.SimpleField==1)
        return 1;

     return 2;
}
Вложения
Тип файла: zip tutorial_custImage.zip (69.0 Кб, 113 просмотров)
__________________
Axapta book for developer

Последний раз редактировалось MikeR; 26.12.2011 в 09:59.
За это сообщение автора поблагодарили: AlGol (1), gl00mie (2), iCloud (2).
Теги
image, imagelist, resources

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Тормозит грид Geo DAX: Программирование 5 12.04.2011 23:38
Программно добавить поле в таблицу. HorrR DAX: Программирование 3 06.08.2009 18:13
оборотная ведомость по складу необходимо добавить ещё один фильтр jeky DAX: Программирование 21 06.04.2009 19:03
Отчет "В наличии". Как добавить новое условие Range ATimTim DAX: Функционал 5 13.08.2005 13:26
Добавление столбца в грид на PurchQuickQuote Андре DAX: Программирование 1 15.04.2002 10:52

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

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

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