Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
105
WinTree with Custom Class
posted

I know i read a post about using a BindingList for Custom Class for UltraTree and so far it works.

Here's my code

public class ScreenViewList : BindingList<ScreenClass>
    {
    }
    public class ScreenClass
    {
        private BindingList<ScreenObjectClass> _screenobjects = new BindingList<ScreenObjectClass>();
        public int ScreenID { get; set; }
        public string ScreenName { get; set; }
        public Image PrivilegeLevel { get; set; }
        public BindingList<ScreenObjectClass> _Screenobjects
        {
            get { return _screenobjects; }
            set { _screenobjects = value; }
        }
    }
    public class ScreenObjectClass
    {
        private string _name;
        private int _scrID;
        private int _objID;
        public ScreenObjectClass(int ScrID, int ScrObjID, string Name)
        {
            _name = Name;
            _objID = ScrObjID;
            _scrID = ScrID;
        }
        public int ScreenObjectID
        {
            get { return _objID; }
            set { _objID = value; }
        }

        public int ScreenID { get { return _scrID; } set { _scrID = value; } }
        public string ObjectName { get { return _name; } set { _name = value; } }

    }

the property with Bold in ScreenClass, I want to Display as Image on TreeView but unable to display Image.

On the Form I do this by getting the data from the database.

            ScreenViewList _screenviews = new ScreenViewList();
            foreach (DataRow rowscreen in ds.Tables[0].Rows)
            {
                ScreenClass _screen = new ScreenClass();
                _screen.ScreenName = rowscreen["ScreenName"].ToString();
                _screen.ScreenID = Convert.ToInt32(rowscreen["ScreenID"]) ;
                _screen.PrivilegeLevel = Imagelist1.Images[0];
                _screenviews.Add(_screen);
                this.LoadScreenObjects(Convert.ToInt32(rowscreen["ScreenID"]),_screen);
            }
            tv.BeginUpdate();
            BindingSource bg = new BindingSource();
            bg.DataSource = _screenviews;
            tv.DataSource = bg;
            tv.EndUpdate();
 I see the PrivilegeLevel Column with values as System.Drawing. Can someone please correct me what i am doing wrong here.

 

Thanks