Exemplo n.º 1
0
        /// <summary>
        /// Load CostCentre hierarchy from the dataset into the tree view
        /// </summary>
        public void PopulateTreeView(GLSetupTDS MainDS)
        {
            FDuringInitialisation = true;
            trvCostCentres.BeginUpdate();
            trvCostCentres.Nodes.Clear();

            // find the root cost centre
            MainDS.ACostCentre.DefaultView.RowFilter =
                ACostCentreTable.GetCostCentreToReportToDBName() + " IS NULL";

            DataView view = new DataView(MainDS.ACostCentre);

            view.Sort = ACostCentreTable.GetCostCentreCodeDBName();

            InsertNodeIntoTreeView(null,
                                   view,
                                   (ACostCentreRow)MainDS.ACostCentre.DefaultView[0].Row);

            MainDS.ACostCentre.DefaultView.RowFilter = "";

            trvCostCentres.EndUpdate();

            this.trvCostCentres.BeforeSelect += TreeViewBeforeSelect;
            this.trvCostCentres.AfterSelect  += TreeViewAfterSelect;
            trvCostCentres.EndUpdate();

            FDuringInitialisation = false;

            if (trvCostCentres.Nodes.Count > 0)
            {
                SelectNodeByName(trvCostCentres.Nodes[0].Name); // Select the first item
            }
        }
Exemplo n.º 2
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);
                }
            }
        }
Exemplo n.º 3
0
        private DataTable GetCostCentreListTable(TDBTransaction AReadTransaction, System.Int32 ALedgerNumber, string ATableName)
        {
            StringCollection FieldList = new StringCollection();

            FieldList.Add(ACostCentreTable.GetLedgerNumberDBName());
            FieldList.Add(ACostCentreTable.GetCostCentreCodeDBName());
            FieldList.Add(ACostCentreTable.GetCostCentreNameDBName());
            FieldList.Add(ACostCentreTable.GetCostCentreToReportToDBName());
            FieldList.Add(ACostCentreTable.GetPostingCostCentreFlagDBName());
            FieldList.Add(ACostCentreTable.GetCostCentreActiveFlagDBName());
            FieldList.Add(ACostCentreTable.GetCostCentreTypeDBName());
            return(ACostCentreAccess.LoadViaALedger(ALedgerNumber, FieldList, AReadTransaction));
        }