示例#1
0
        private void InsertNodeIntoTreeView(TreeNode AParent, DataView view, ACostCentreRow ADetailRow)
        {
            TreeNode newNode = new TreeNode("");

            CostCentreNodeDetails NewNodeDetails = CostCentreNodeDetails.AddNewCostCentre(newNode, ADetailRow);

            NewNodeDetails.IsNew = false;

            SetNodeLabel(ADetailRow, newNode);

            if (AParent == null)
            {
                trvCostCentres.Nodes.Add(newNode);
            }
            else
            {
                InsertInOrder(AParent, newNode);
            }

            view.RowFilter =
                ACostCentreTable.GetCostCentreToReportToDBName() + " = '" + ADetailRow.CostCentreCode + "'";

            if (view.Count > 0)
            {
                // A cost centre cannot be deleted if it has children.
                NewNodeDetails.CanDelete       = false;
                NewNodeDetails.Msg             = Catalog.GetString("Child Cost Centres must be deleted first.");
                NewNodeDetails.CanHaveChildren = true;

                foreach (DataRowView rowView in view)
                {
                    InsertNodeIntoTreeView(newNode, view, (ACostCentreRow)rowView.Row);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Add this new CostCentre as child of the currently selected node
        /// </summary>
        public void AddNewCostCentre(ACostCentreRow CostCentreRow)
        {
            trvCostCentres.BeginUpdate();
            TreeNode newNode = trvCostCentres.SelectedNode.Nodes.Add(CostCentreRow.CostCentreCode);
            CostCentreNodeDetails NewCostCentre = CostCentreNodeDetails.AddNewCostCentre(newNode, CostCentreRow);

            trvCostCentres.EndUpdate();
            FParentForm.SetSelectedCostCentre(NewCostCentre); // This will set my FSelectedCostCentre and my trvCostCentres.SelectedNode
        }