Dev TreeList 添加節點圖標問題


1. 在設計界面添加imageCollection控件,在屬性頁設置圖標(可Load from disk,也可從Load from dev gallery)

2. TreeList控件有一個叫做CustomDrawNodeImages 的事件,雙擊該事件編寫后台代碼。

3. 添加節點圖標需要用到TreeList 的SelectImageList屬性,該屬性是指當節點被選中時顯示的圖標(相應的還有另外兩個ColumnImageList和StateImageList屬性)

4. 最開始思考這個問題是,我是這樣想的,如果是葉子節點的話顯示圖標3,否則對於非葉子結點,若展開了顯示圖標2,未展開顯示圖標1。

方法一代碼如下:

            if (e.Node.Nodes.Count > 0)
            {
                if (e.Node.Expanded)
                {
                    e.SelectImageIndex = 2;
                    return;
                }
                e.SelectImageIndex = 1;
            }
            else
            {
                e.SelectImageIndex = 3;
            }

 5. 我的需求是一個六層的導航樹,后來又想讓每一層的結點圖標都不一樣,於是又想到了第二種方法,這個方法用到了結點的level屬性,它代表當前節點所在的層數。這樣可以根據當前level的不同來給每一層節點添加圖標。

        //方法1:node.level 代表當前節點所在的層數,借此可以實現給每一層節點添加不同的圖標
            switch (e.Node.Level)
            {
                case 0:
                    e.SelectImageIndex = 0;
                    break;
                case 1:
                case 2:
                case 3:
                case 4:
                    if (e.Node.Expanded)
                    {
                        e.SelectImageIndex = 2;
                    }
                    else
                    {
                        e.SelectImageIndex = 1;
                    }
                    break;
                case 5:
                    e.SelectImageIndex = 3;
                    break;
                default:
                    break;
            }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM