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
65
How to add data in UltraTree OutlookExpress
posted

 I am having problems adding data to the UltraTree when the view style is in outlook express.  I think the problem is that I am not quite sure how to use the UltraTreeColumnSet.  Are there examples in adding data to the ultra tree?

Below is a snippet of my code, the error occurs in the bold line where I am setting the cell value for a child node.  I am able to set the cell  value of the parent node, but I get an error for the child node.  I get a runtime error "Object reference not set to an instance of an object"

 

 DataTable dataTable = InitializeTable();

            UltraTreeColumnSet rootColumnSet = InitializeColumnSet();

            ultraTree.Nodes.Clear();

            UltraTreeNode rootNode = ultraTree.Nodes.Add(id+ "_" + index);
            rootNode.Text = id;
            rootNode.SetCellValue(rootColumnSet.Columns["Id"],id);
            rootNode.SetCellValue(rootColumnSet.Columns["Description"], "description");
            rootNode.SetCellValue(rootColumnSet.Columns["EU"], "EU");

            UltraTreeNode childNode = new UltraTreeNode("childNode");

            try
            {
                childNode.Text = "hello";
                childNode.SetCellValue(rootColumnSet.Columns["Id"], "hello");
                childNode.SetCellValue(rootColumnSet.Columns["Description"], "desc");
                childNode.SetCellValue(rootColumnSet.Columns["EU"], "eu");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            rootNode.Nodes.Add(childNode);

 

private UltraTreeColumnSet InitializeColumnSet()
        {
            DataTable dataTable = InitializeTable();

            UltraTreeColumnSet rootColumnSet = ultraTree.ColumnSettings.RootColumnSet;

            foreach (DataColumn dataColumn in dataTable.Columns)
            {
                UltraTreeNodeColumn column = rootColumnSet.Columns.Add(dataColumn.ColumnName);

                column.DataType = dataColumn.DataType;
            }


            return rootColumnSet;
        }

        private DataTable InitializeTable()
        {
           //    Create a DataTable
           DataTable dataTable = new DataTable();

           //    Add some columns
           dataTable.Columns.Add( "Id", typeof(string) );
           dataTable.Columns.Add( "Description", typeof(string) );
           dataTable.Columns.Add( "EU", typeof(string) );
          
           return dataTable;
        }

 

Any help is appreciated!!

 Jaime