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

Parents
  • 469350
    Verified Answer
    Offline posted

     If you want the column to display as a picture, then I think what you need to do is use an editor. Place an UltraPictureBox control on the form. Then in the ColumnSetGenerated event, set the EditorControl property of the column to the UltraPictureBox. 

Reply Children