How long have you been using Microsoft Dynamics Ax?

Toplam Sayfa Görüntüleme Sayısı

Popular Posts

Translate

Bu Blogda Ara

15 Şubat 2012 Çarşamba

TreeControl kullanımı


Sınıflandırma yapılması istendiğinde TreeControl kullanılabilir.














Treecontrol kullanırken dikkat edilmesi gereken kontrolü eklerken hangi düğüm (node) ün altında yer alacağı bilgisine hakim olmaktır.


Bu kontrolü sağlamak için TreeItemIdx tipli değişken tanımlıyoruz ve bu değişkeni ağaca yeni kırılım eklerken hangi kontrolün altında yer alacağını belirtmek için kullanıyoruz.


Aşağıdaki kodda madde kartı içerisinde dolaşıp madde grubu bazında maddeleri listeleyen bir ağaç yapısı oluşturuyoruz.


Kırılımların daha iyi anlaşılabilmesi için kırılımlara birer resim atıyoruz.


Resimler için ImageListAllp_Help sınıfındaki açık klasörü kök öğe için, kapalı kitabı madde grubu için, açık kitabıda bu maddeler için kullanıyoruz.





    #resAppl


    InventTable         inventTable;
    TreeItemIdx         item,itemGroup,root;
    ItemGroupId         oldItemGroup;
    ImageRes            imageResItem,imageResGroup,imageResRoot;
    ImageListAppl_Help  imageList = new ImageListAppl_Help();
    ;


    imageResRoot    = imageList.image(#ImageFolderOpen);


    imageResGroup   = imageList.image(#ImageHelpTOCBookClosed);
   
    imageResItem    = imageList.image(#ImageHelpTOCBookOpen);


    formTreeControl.setImagelist(imageList.imageList());


    root = SysFormTreeControl::addTreeItem(formTreeControl,"Maddeler",FormTreeAdd::Root,"Maddeler",imageResRoot);


    while select inventTable order by ItemGroupId
    {
        if (!oldItemGroup)
        {
            oldItemGroup    = inventTable.ItemGroupId;
           
            itemGroup       = SysFormTreeControl::addTreeItem(formTreeControl,inventTable.ItemGroupId,root,inventTable.ItemGroupId,imageResGroup);
        }


        if (oldItemGroup != inventTable.ItemGroupId)
        {
            SysFormTreeControl::expandTree(formTreeControl,itemGroup);


            oldItemGroup    = inventTable.ItemGroupId;


            itemGroup       = SysFormTreeControl::addTreeItem(formTreeControl,inventTable.ItemGroupId,root,inventTable.ItemGroupId,imageResGroup);


        }


        item = SysFormTreeControl::addTreeItem(formTreeControl,inventTable.ItemId,itemGroup,inventTable.ItemId,imageResItem);


    }


    SysFormTreeControl::expandTree(formTreeControl,formTreeControl.getRoot(),1);


Hepsi bu bol AX lı günler.
Alper.

Hiç yorum yok:

Yorum Gönder