/// <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 } }
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); } } }
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)); }