public void AddBrother() { DataRow rowAdd = AddRow(); DevExpress.XtraTreeList.Nodes.TreeListNode node = this.treeList.FocusedNode; if (node != null) { //rowAdd[BrotherFiledName] = node.GetValue(KeyFieldName) as string; rowAdd[ParentFieldName] = node.GetValue(ParentFieldName) as string; } else { //rowAdd[BrotherFiledName] = ""; rowAdd[ParentFieldName] = "root"; } //执行插入操作 if (InsertRow != null) { TreeListHelperArgs args = new TreeListHelperArgs(); args.Row = rowAdd; InsertRow(this, args); if (args.Result) { UpdateTree(rowAdd); } } }
private bool SelectedNodeByEditValue(object nodeValue) { object _keyValue = null; try { _keyValue = System.Convert.ChangeType(nodeValue, this.DataSource.Columns[this.ValueMember].DataType); } catch (Exception) { } if (_keyValue != null) { DevExpress.XtraTreeList.Nodes.TreeListNode node = this.popTree.FindNodeByKeyID(_keyValue); if (node != null) { ExpandedParentNode(node); //if (node.ParentNode != null && !node.ParentNode.Expanded) //{ // node.ParentNode.Expanded = node.ParentNode.Visible = true; //} this.popTree.FocusedNode = node; node.Selected = true; return(true); } } return(false); }
//region 设置父节点状态,如果它的孩子都被选中,则状态是check(由上下文件环境传递),否则是CheckState.Indeterminate private void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check) { if (node.ParentNode != null) { bool b = false; CheckState state; for (int i = 0; i < node.ParentNode.Nodes.Count; i++) { state = (CheckState)node.ParentNode.Nodes[i].CheckState; if (!check.Equals(state)) { b = !b; break; } } if (b) { node.ParentNode.CheckState = CheckState.Indeterminate; } else { node.ParentNode.CheckState = check; } SetCheckedParentNodes(node.ParentNode, check); } }
private void SeleccionarNodo(DevExpress.XtraTreeList.Nodes.TreeListNode nodo) { if (nodo.Id == -100000) { treeListMenu_x_Usuario_x_Empresa.ExpandAll(); } else if (nodo.Nodes.Count > 0) { return; } else { if ((bool)nodo.GetValue("Tiene_FormularioAsociado")) { infoMenu.IdMenu = (int)nodo.GetValue("IdMenu"); infoMenu.IdMenuPadre = (int)nodo.GetValue("IdMenuPadre"); infoMenu.DescripcionMenu = (string)nodo.GetValue("DescripcionMenu"); infoMenu.PosicionMenu = (int)nodo.GetValue("PosicionMenu"); infoMenu.Habilitado = (bool)nodo.GetValue("Habilitado"); infoMenu.Tiene_FormularioAsociado = (bool)nodo.GetValue("Tiene_FormularioAsociado"); infoMenu.nom_Formulario = (string)nodo.GetValue("nom_Formulario"); infoMenu.nom_Asembly = (string)nodo.GetValue("nom_Asembly"); infoMenu.nivel = (int)nodo.GetValue("nivel"); LlamarFormulario(); if (nodo.ParentNode != null) { nodo.ParentNode.Selected = true; } } } }
/// <summary> /// 根据子节点CheckBox是否全选状态更改父节点非选中状态 /// </summary> /// <param name="node"></param> private void ValidParentNodeIsCanleSel(DevExpress.XtraTreeList.Nodes.TreeListNode node) { try { bool isSel = false; if (node.ParentNode != null) { if (node.ParentNode.CheckState == CheckState.Indeterminate) { //如果父节点的状态为半选状态,根据父节点判断子节点是否打钩 isSel = ValidIsHasCheckChildNode(node.ParentNode); if (isSel == false) { //如果所有的子节点都没有选中,那么父节点的状态变为非选中状态 node.ParentNode.CheckState = CheckState.Unchecked; } } ValidParentNodeIsCanleSel(node.ParentNode); } } catch (Exception) { throw; } }
public SelectedCell(int node, int col, DevExpress.XtraTreeList.Nodes.TreeListNode n, DevExpress.XtraTreeList.Columns.TreeListColumn cols) { _id = node; _col = col; _node = n; _cols = cols; }
private void treeList1_MouseMove(object sender, MouseEventArgs e) { if (isDragDrop) { if (Math.Abs(startPoint.X - e.Location.X) > 5 || Math.Abs(startPoint.Y - e.Location.Y) > 5) { List <object> camlist = new List <object>(); if (dragNode.HasChildren) { foreach (DevExpress.XtraTreeList.Nodes.TreeListNode node in dragNode.Nodes) { object o = node["Context"]; if (!camlist.Contains(o)) { camlist.Add(o); } } } else { object o = dragNode["Context"]; if (!camlist.Contains(o)) { camlist.Add(o); } } treeList1.DoDragDrop(camlist, DragDropEffects.Move | DragDropEffects.Link); isDragDrop = false; startPoint = new Point(); dragNode = null; } } }
/// <summary> /// 判断 子节点 是否 有 状态为 “选中”状态 /// true 表示有 false 表示为 没有 /// </summary> /// <param name="node"></param> /// <returns></returns> private bool ValidIsHasCheckChildNode(DevExpress.XtraTreeList.Nodes.TreeListNode node) { try { bool isCheck = false; foreach (DevExpress.XtraTreeList.Nodes.TreeListNode colNode in node.Nodes) { if (colNode != null) { if (colNode.CheckState == CheckState.Checked) { isCheck = true; return(isCheck); } } if (colNode.HasChildren) { isCheck = ValidIsHasCheckChildNode(colNode); if (isCheck == true) { return(isCheck); } } } return(isCheck); } catch (Exception) { throw; } }
private void btnSil_ItemClick(object sender, ItemClickEventArgs e) { if (treeList1.FocusedNode != null) { using (YazilimYonetimAraciEntities1 db = new YazilimYonetimAraciEntities1()) { DevExpress.XtraTreeList.Nodes.TreeListNode node = treeList1.FocusedNode; int PID = Convert.ToInt32(node.GetDisplayText(treeList1.VisibleColumns[7])); if (MessageBox.Show(node.GetDisplayText(treeList1.VisibleColumns[0]) + "\nprojesini silmek istiyor musunuz?", "Proje Silme", MessageBoxButtons.YesNo) == DialogResult.Yes) { /*Projects category = db.Projects.Where(c => c.ProjectID == PID).FirstOrDefault(); * db.Projects.DeleteOnSubmit(category); * db.SubmitChanges();*/ Projects p = db.Projects.Single(c => c.ProjectID == PID); db.Projects.Remove(p); db.SaveChanges(); this.Close(); frmMusteri m = new frmMusteri(this.kAd); m.Show(); } else { } } } else { MessageBox.Show("Lütfen Bir Proje Seçiniz.."); } }
public void OnFocusChanged(DevExpress.XtraTreeList.Nodes.TreeListNode node) { if (root_ != null && node != null) { ToolObj.focusTool = root_.GetObjByTreeId(node.Id); } }
private void treeList1_FilterNode(object sender, DevExpress.XtraTreeList.FilterNodeEventArgs e) { string NodeText = e.Node["CountryName"].ToString(); bool IsVisible = NodeText == "中国"; if (IsVisible) { DevExpress.XtraTreeList.Nodes.TreeListNode Node = e.Node.ParentNode; while (Node != null) { if (!Node.Visible) { Node.Visible = true; Node = Node.ParentNode; } else { break; } } } e.Node.Visible = IsVisible; e.Handled = true; }
private void tlRibbon_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { DevExpress.XtraTreeList.Nodes.TreeListNode curNode = e.Node; m_SelectedLevel = 0; m_PageNode = null; m_GroupNode = null; m_SelectedCommandNode = null; if (curNode != null) { m_SelectedLevel = curNode.Level + 1; // Page if (m_SelectedLevel == 1) { m_PageNode = curNode; } else if (m_SelectedLevel == 2) { m_PageNode = curNode.ParentNode; m_GroupNode = curNode; } else //if (m_SelectedLevel == 3) { m_PageNode = curNode.ParentNode.ParentNode; m_GroupNode = curNode.ParentNode; m_SelectedCommandNode = curNode; this.ucCommandCategory2.SelectedClassInfo = m_SelectedCommandNode.Tag as ClassInfo; } } RefreshRibbonEnabled(); }
private ABCBindingConfig GetNewBindingInfo(DevExpress.XtraTreeList.Nodes.TreeListNode node) { ABCCommonTreeListNode obj = (ABCCommonTreeListNode)treeBinding.GetDataRecordByNode(node); if (obj == null || (ABCScreen.ABCBindingConfig)obj.InnerData == null) { return(null); } ABCBindingConfig bindInfo = (ABCBindingConfig)obj.InnerData; bindInfo.Children.Clear(); foreach (DevExpress.XtraTreeList.Nodes.TreeListNode childNode in node.Nodes) { ABCBindingConfig childInfo = GetNewBindingInfo(childNode); childInfo.Parent = bindInfo; childInfo.ParentName = bindInfo.Name; bindInfo.Children.Add(childInfo.Name, childInfo); } if (AddedList.Contains(bindInfo) == false) { AddedList.Add(bindInfo); } return(bindInfo); }
protected override void InternalNodeChanged(DevExpress.XtraTreeList.Nodes.TreeListNode node, NodeChangeTypeEnum changeType) { if (changeType == NodeChangeTypeEnum.CheckedState) { CustomTreeListStoreCheckedStateHelper.StoreCheckedState(node); } base.InternalNodeChanged(node, changeType); }
//region 设置子节点状态跟随父结点 private void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check) { for (int i = 0; i < node.Nodes.Count; i++) { node.Nodes[i].CheckState = check; SetCheckedChildNodes(node.Nodes[i], check); } }
private void TreeNodeToDataObject <T>(T dataObject, DevExpress.XtraTreeList.Nodes.TreeListNode treeNode) { Type type = typeof(T); foreach (PropertyInfo pi in type.GetProperties()) { if (pi.Name.IndexOf("Col") == 0 && treeNode.GetValue(pi.Name) != DBNull.Value) { pi.SetValue(dataObject, treeNode.GetValue(pi.Name), null); } } }
static public void TreeNodeToDataObject <T>(T dataObject, DevExpress.XtraTreeList.Nodes.TreeListNode treeNode) { Type type = typeof(T); foreach (PropertyInfo pi in type.GetProperties()) { if (pi.Name.Substring(0, 1) == "y") { pi.SetValue(dataObject, treeNode.GetValue(pi.Name), null); } } }
/// <summary> /// 删除部门 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDelDept_Click(object sender, EventArgs e) { TreeListNode trn = this.treeUser.FocusedNode; if (null == trn) { return; } string tip = "确定是否删除当前节点!"; if (trn.Nodes.Count > 0) { tip += ",同时将删除该节点的下级关联节点!"; } DialogResult msgquet = XtraMessageBox.Show(tip, "系统提示!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (DialogResult.Cancel == msgquet) { return; } //递归删除节点 TreeListNode trncurrent = trn; DevExpress.XtraTreeList.Nodes.TreeListNode trnnext = trn.PrevNode; DataTable tabGroup = this.ds.Tables["用户信息"]; string tag = basefun.valtag(Convert.ToString(trn.Tag), "ID"); foreach (DataRow drGroup in tabGroup.Select("id='" + tag + "'")) { if (this.treeUser.FindNodeByFieldValue("id", drGroup["id"].ToString()) != null) { TreeListNode tn1 = this.treeUser.FindNodeByFieldValue("id", drGroup["id"].ToString()); this.treeUser.Nodes.Remove(tn1); } drGroup.Delete(); trnnext = trn.PrevNode; if (null == trnnext) { trnnext = trn.ParentNode; } trn.Nodes.Remove(trn); if (trncurrent != trn) { trn = trnnext; } else { trn = null; } } this.treeUser.FocusedNode = trnnext; }
private void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check) { for (int i = 0; i < node.Nodes.Count; i++) { node.Nodes[i].CheckState = check; SetCheckedChildNodes(node.Nodes[i], check); } if (NodeCheckStateChangedEvent != null) { NodeCheckStateChangedEvent.Invoke(node, check); } }
private void SetTreeNodesVisble(DevExpress.XtraTreeList.Nodes.TreeListNodes nodes, bool visible) { for (int _i = 0, _iCnt = nodes.Count; _i < _iCnt; _i++) { DevExpress.XtraTreeList.Nodes.TreeListNode node = nodes[_i]; node.Visible = visible; if (node.HasChildren) { node.Expanded = false; SetTreeNodesVisble(node.Nodes, visible); } } }
private void ExpandedParentNode(DevExpress.XtraTreeList.Nodes.TreeListNode node) { if (node == null) { return; } DevExpress.XtraTreeList.Nodes.TreeListNode _parentNode = node.ParentNode; while (_parentNode != null) { _parentNode.Expanded = _parentNode.Visible = true; _parentNode = _parentNode.ParentNode; } }
private void treeList1_MouseDown(object sender, MouseEventArgs e) { DevExpress.XtraTreeList.TreeListHitInfo info = treeList1.CalcHitInfo(e.Location); if (info.Node != null) { object o = info.Node["Context"]; if (o is TaskUnitInfo) { isDragDrop = true; startPoint = e.Location; dragNode = info.Node; } } }
//加载 private void BOMManagerForm_Load(object sender, EventArgs e) { this.bindingSourceProduct.DataSource = new BL.ProductManager().Select(); foreach (Model.ProductCategory cate in productCategoryManager.Select()) { DevExpress.XtraTreeList.Nodes.TreeListNode treeNode = treeList1.AppendNode(new object[] { cate.ProductCategoryName }, null, cate.ProductCategoryId); _productCategory.ProductCategoryId = cate.ProductCategoryId; foreach (Model.Product prodcut in productManager.Select(_productCategory)) { treeList1.AppendNode(new object[] { prodcut.ProductName }, treeNode, prodcut.ProductId); } } }
private void band() { this.treeList1.ClearNodes(); foreach (Model.TechonlogyHeader techonlogy in techonlogyHeaderManager.DataReaderBind <Model.TechonlogyHeader>("SELECT TechonlogyHeaderid,TechonlogyHeadername FROM TechonlogyHeader order by TechonlogyHeadername ", null, CommandType.Text)) { DevExpress.XtraTreeList.Nodes.TreeListNode treeNode = treeList1.AppendNode(new object[] { techonlogy.TechonlogyHeadername }, null, techonlogy.TechonlogyHeaderId); foreach (Model.Procedures details in this.techonlogydetailsManager.DataReaderBind <Model.Procedures>("SELECT Id FROM Procedures WHERE Procedures.ProceduresId IN(SELECT ProceduresId FROM Technologydetails WHERE Technologydetails.TechonlogyHeaderid='" + techonlogy.TechonlogyHeaderId + "')", null, CommandType.Text)) { treeList1.AppendNode(new object[] { details.Id }, treeNode, null); } } }
private void band() { this.treeList1.ClearNodes(); foreach (Model.Customer customer in this.customerManager.Select()) { DevExpress.XtraTreeList.Nodes.TreeListNode treeNode = treeList1.AppendNode(new object[] { customer.CustomerShortName }, null, customer.CustomerId); foreach (Model.CustomerPackage customerPackage in this.CustomerPackageManager.Select(customer)) { treeList1.AppendNode(new object[] { customerPackage.Id }, treeNode, customerPackage.CustomerPackageId); } } }
public override void Execute(DevExpress.XtraTreeList.Nodes.TreeListNode node) { if (!block.Between(block.Y1, block.Y2, node.Id)) { return; } foreach (TreeListColumn column in node.TreeList.Columns) { if (block.Contains(column.VisibleIndex, node.Id)) { result += node.GetDisplayText(column); result += CellDelimeter; } } result += LineDelimeter; }
private void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, CheckState check) { if (node.ParentNode != null) { bool b = false; for (int i = 0; i < node.ParentNode.Nodes.Count; i++) { if (!check.Equals(node.ParentNode.Nodes[i].Tag)) { b = !b; break; } } node.ParentNode.Tag = b ? CheckState.Indeterminate : check; SetCheckedParentNodes(node.ParentNode, check); } }
private void treeList1_DragOver(object sender, DragEventArgs e) { DevExpress.XtraTreeList.TreeListHitInfo hi = treeList1.CalcHitInfo(treeList1.PointToClient(new Point(e.X, e.Y))); DevExpress.XtraTreeList.Nodes.TreeListNode node = GetDragNode(e.Data); if (node != null) { if (hi.HitInfoType == DevExpress.XtraTreeList.HitInfoType.Empty || hi.Node != null) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; } } SetDragCursor(e.Effect); tblWorkFlowTableAdapter2.Update(dSWorkFlow); }
private void SetCheckedNode(DevExpress.XtraTreeList.Nodes.TreeListNode node) { CheckState check = GetCheckState(node.Tag); if (check == CheckState.Indeterminate || check == CheckState.Unchecked) { check = CheckState.Checked; } else { check = CheckState.Unchecked; } treeList1.BeginUpdate(); node.Tag = check; SetCheckedChildNodes(node, check); SetCheckedParentNodes(node, check); treeList1.EndUpdate(); }
/// <summary> /// 根据子节点CheckBox是否全选状态更改父节点不确定状态 /// </summary> /// <param name="node"></param> private void ValidParentIsChecked(DevExpress.XtraTreeList.Nodes.TreeListNode node) { try { if (node.ParentNode != null) { if (node.ParentNode.CheckState != CheckState.Checked) { node.ParentNode.CheckState = CheckState.Indeterminate; } ValidParentIsChecked(node.ParentNode); } } catch (Exception) { throw; } }
void InitTree() { treeStdCalib = treeSolution.Nodes[0]; treeSolInterm1 = treeSolution.Nodes[1]; treeSolInterm2 = treeSolution.Nodes[2]; treeStdVerif = treeSolution.Nodes[3]; treeSolTitration = treeSolution.Nodes[4]; // --- solutions treeStdCalib.Tag = 1; treeSolInterm1.Tag = 2; treeSolInterm2.Tag = 3; treeStdVerif.Tag = 4; treeSolTitration.Tag = 5; TypeSolution = Convert.ToInt32(treeStdCalib.Tag); // --- limpiar nodos constantes treeStdCalib.Nodes.Clear(); treeSolInterm1.Nodes.Clear(); treeSolInterm2.Nodes.Clear(); treeStdVerif.Nodes.Clear(); treeSolTitration.Nodes.Clear(); ModSolution oModSolution = new ModSolution(); CGroup_solutionFactory faGroup_solution = new CGroup_solutionFactory(); List<CGroup_solution> lstGroup_solution = faGroup_solution.GetAll(); // 1:SC, 2:SI-1, 3:SI-2, 4:EV, 5:ST foreach (var item in lstGroup_solution) { // solución de calibracion (SC) if (item.Type_solution == 1) { object[] obj = { item.Cod_solution, item.Idgroup_solution, item.Idmr_detail /*, item.Idsolution_pattern*/ }; TreeListNode node = treeSolution.AppendNode(obj, treeStdCalib); node.Tag = treeStdCalib.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // solución intermedia 1, 2 y estandar de verificación if (item.Type_solution == 2 || item.Type_solution == 3 || item.Type_solution == 4) // --- agregar filas de la tabla de soluciones (intermedias) { // --- agregar soluciones intermedia-1 List<CSolution> lstSolInterm1 = oModSolution.GetLstSolInterm1ByGroup(item.Idgroup_solution); foreach (CSolution solution in lstSolInterm1) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeSolInterm1); node.Tag = treeSolInterm1.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // --- agregar soluciones intermedia-2 List<CSolution> lstSolInterm2 = oModSolution.GetLstSolInterm2ByGroup(item.Idgroup_solution); foreach (CSolution solution in lstSolInterm2) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeSolInterm2); node.Tag = treeSolInterm2.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // --- agregar estandares de verificación List<CSolution> lstStdVerif = oModSolution.GetLstStdVerifByGroup(item.Idgroup_solution); foreach (CSolution solution in lstStdVerif) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeStdVerif); node.Tag = treeStdVerif.Tag; node.ImageIndex = 2; node.SelectImageIndex = 2; } } if (item.Type_solution == 5) { object[] obj = { item.Cod_solution, item.Idgroup_solution, item.Idmr_detail /*, item.Idsolution_pattern*/ }; TreeListNode node = treeSolution.AppendNode(obj, treeSolTitration); node.Tag = treeSolTitration.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } } treeSolution.ExpandAll(); }
private void tlRibbon_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { DevExpress.XtraTreeList.Nodes.TreeListNode curNode=e.Node; m_SelectedLevel = 0; m_PageNode = null; m_GroupNode = null; m_SelectedCommandNode = null; if (curNode != null) { m_SelectedLevel = curNode.Level + 1; // Page if (m_SelectedLevel == 1) { m_PageNode = curNode; } else if (m_SelectedLevel == 2) { m_PageNode = curNode.ParentNode; m_GroupNode = curNode; } else //if (m_SelectedLevel == 3) { m_PageNode = curNode.ParentNode.ParentNode; m_GroupNode = curNode.ParentNode; m_SelectedCommandNode = curNode; this.ucCommandCategory2.SelectedClassInfo = m_SelectedCommandNode.Tag as ClassInfo; } } RefreshRibbonEnabled(); }
private void barBtnDeletePage_Click(object sender, EventArgs e) { if (m_PageNode != null) { foreach (TreeListNode nodeGroup in m_PageNode.Nodes) { foreach (TreeListNode nodeCommand in nodeGroup.Nodes) { DeleteNode(nodeCommand); //if (nodeCommand.Tag is RibbonCommandInfo) // m_HibernateHelper.DeleteObject(nodeCommand.Tag); } } m_HibernateHelper.Flush(); tlRibbon.DeleteNode(m_PageNode); m_PageNode = null; } }
public void InitTree(typeSolution[] typeSol) { treeStdCalib = treeSolution.Nodes[0].Clone() as TreeListNode; treeSolInterm1 = treeSolution.Nodes[1].Clone() as TreeListNode; treeSolInterm2 = treeSolution.Nodes[2].Clone() as TreeListNode; treeStdVerif = treeSolution.Nodes[3].Clone() as TreeListNode; treeSolTitration = treeSolution.Nodes[4].Clone() as TreeListNode; // --- solutions treeStdCalib.Tag = Convert.ToInt32(typeSolution.StdCalib); treeSolInterm1.Tag = Convert.ToInt32(typeSolution.SolInterm1); treeSolInterm2.Tag = Convert.ToInt32(typeSolution.SolInterm2); treeStdVerif.Tag = Convert.ToInt32(typeSolution.StdVerif); treeSolTitration.Tag = Convert.ToInt32(typeSolution.SolTitration); treeSolution.Nodes.Clear(); for (int i = 0; i < typeSol.Length; i++) { if (typeSol[i] == typeSolution.StdCalib) treeSolution.Nodes.Add(treeStdCalib); else if (typeSol[i] == typeSolution.SolInterm1) treeSolution.Nodes.Add(treeSolInterm1); else if (typeSol[i] == typeSolution.SolInterm2) treeSolution.Nodes.Add(treeSolInterm2); else if (typeSol[i] == typeSolution.StdVerif) treeSolution.Nodes.Add(treeStdVerif); else if (typeSol[i] == typeSolution.SolTitration) treeSolution.Nodes.Add(treeSolTitration); } treeStdCalib["Nombre"] = "Estandar de Calibración"; treeSolInterm1["Nombre"] = "Solución Intermedia 1"; treeSolInterm2["Nombre"] = "Solución Intermedia 2"; treeStdVerif["Nombre"] = "Estandar de Verificación"; treeSolTitration["Nombre"] = "Soluciones Titulantes"; // --- limpiar nodos constantes //treeStdCalib.Nodes.Clear(); //treeSolInterm1.Nodes.Clear(); //treeSolInterm2.Nodes.Clear(); //treeStdVerif.Nodes.Clear(); //treeSolTitration.Nodes.Clear(); ModSolution oModSolution = new ModSolution(); CGroup_solutionFactory faGroup_solution = new CGroup_solutionFactory(); List<CGroup_solution> lstGroup_solution = faGroup_solution .GetAll() .Where(x => x.Type_solution == Convert.ToInt32(typeSolution.StdCalib) || x.Type_solution == Convert.ToInt32(typeSolution.SolInterm1) || x.Type_solution == Convert.ToInt32(typeSolution.SolInterm2) || x.Type_solution == Convert.ToInt32(typeSolution.StdVerif) || x.Type_solution == Convert.ToInt32(typeSolution.SolTitration)).ToList(); // 1:SC, 2:SI-1, 3:SI-2, 4:EV, 5:ST foreach (var item in lstGroup_solution) { // solución de calibracion (SC) if (item.Type_solution == 1) { object[] obj = { item.Cod_solution, item.Idgroup_solution, item.Idmr_detail /*, item.Idsolution_pattern*/ }; TreeListNode node = treeSolution.AppendNode(obj, treeStdCalib); node.Tag = treeStdCalib.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // solución intermedia 1, 2 y estandar de verificación if (item.Type_solution == 2 || item.Type_solution == 3 || item.Type_solution == 4) // --- agregar filas de la tabla de soluciones (intermedias) { // --- agregar soluciones intermedia-1 List<CSolution> lstSolInterm1 = oModSolution.GetLstSolInterm1ByGroup(item.Idgroup_solution); foreach (CSolution solution in lstSolInterm1) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeSolInterm1); node.Tag = treeSolInterm1.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // --- agregar soluciones intermedia-2 List<CSolution> lstSolInterm2 = oModSolution.GetLstSolInterm2ByGroup(item.Idgroup_solution); foreach (CSolution solution in lstSolInterm2) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeSolInterm2); node.Tag = treeSolInterm2.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } // --- agregar estandares de verificación List<CSolution> lstStdVerif = oModSolution.GetLstStdVerifByGroup(item.Idgroup_solution); foreach (CSolution solution in lstStdVerif) { object[] obj = { solution.Cod_solution, solution.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeStdVerif); node.Tag = treeStdVerif.Tag; node.ImageIndex = 2; node.SelectImageIndex = 2; } } if (item.Type_solution == 5) { object[] obj = { item.Cod_solution, item.Idgroup_solution, item.Idmr_detail }; TreeListNode node = treeSolution.AppendNode(obj, treeSolTitration); node.Tag = treeSolTitration.Tag; node.ImageIndex = 1; node.SelectImageIndex = 1; } } treeSolution.ExpandAll(); }