Пример #1
0
 /// <summary>
 /// 递归设置树节点CheckStatus
 /// </summary>
 /// <param name="tc">树节点</param>
 private void SetNodeCheck(DevExpress.XtraTreeList.Nodes.TreeListNodes tc)
 {
     foreach (DevExpress.XtraTreeList.Nodes.TreeListNode node in tc)
     {
         if (node.ImageIndex == FORMICON)
         {
             SetNodeCheck(node.Nodes);
         }
         if (node.ImageIndex == FORMICON) //form
         {
             if (forminfo.ContainsKey(node.Tag.ToString()))
             {
                 node.CheckState = forminfo[node.Tag.ToString()].ToString() == "0" ? CheckState.Unchecked : CheckState.Checked;
             }
             else
             {
                 node.CheckState = CheckState.Unchecked;
             }
         }
         else if (node.ImageIndex == BUTTICON) //button
         {
             string form = node.ParentNode.Tag.ToString();
             string butt = node.Tag.ToString();
             if (auth.ContainsKey(form) && ((Dictionary <string, object>)auth[form]).ContainsKey(butt))
             {
                 node.CheckState = ((Dictionary <string, object>)auth[form])[butt].ToString() == "0" ? CheckState.Unchecked : CheckState.Checked;
             }
             else
             {
                 node.CheckState = CheckState.Unchecked;
             }
         }
     }
 }
Пример #2
0
 /// <summary>
 /// 递归获取画面名列表
 /// </summary>
 /// <param name="tc">树节点</param>
 private void GetFormName(DevExpress.XtraTreeList.Nodes.TreeListNodes tc)
 {
     foreach (DevExpress.XtraTreeList.Nodes.TreeListNode node in tc)
     {
         if (node.ImageIndex == FORMICON) //form
         {
             nodeName.Add(node.Tag.ToString());
         }
     }
 }
Пример #3
0
 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 bool IsAllChecked(DevExpress.XtraTreeList.Nodes.TreeListNodes nodes)
        {
            bool value = true;

            foreach (TreeListNode node in nodes)
            {
                if (!node.Checked)
                {
                    value = false;
                    break;
                }
            }
            return(value);
        }
        private void EstablecerIcono(DevExpress.XtraTreeList.Nodes.TreeListNodes lnodos)
        {
            foreach (DevExpress.XtraTreeList.Nodes.TreeListNode nodo in lnodos)
            {
                string descripcion = (string)nodo.GetValue("DescripcionMenu");
                if (nodo.Nodes.Count > 0)
                {
                    EstablecerIcono(nodo.Nodes);

                    if (descripcion.Equals("Mantenimientos") || descripcion.Equals("Mantenimiento"))
                    {
                        nodo.ImageIndex       = 1;
                        nodo.SelectImageIndex = 1;
                    }
                    else if (descripcion.Contains("Reporte"))
                    {
                        nodo.ImageIndex       = 5;
                        nodo.SelectImageIndex = 5;
                    }
                }
                else if ((bool)nodo.GetValue("Tiene_FormularioAsociado"))
                {
                    nodo.ImageIndex       = 2;
                    nodo.SelectImageIndex = 2;
                }
                else if (nodo.GetValue("nom_Formulario").ToString().Length < 1)
                {
                    nodo.ImageIndex       = 6;
                    nodo.SelectImageIndex = 6;
                }
                else
                {
                    nodo.ImageIndex       = 3;
                    nodo.SelectImageIndex = 3;
                }


                //string descripcion = (string)nodo.GetValue("Descripcion");
                //if (descripcion.Equals("Mantenimientos"))
                //{
                //    nodo.ImageIndex = 1;
                //}
            }
        }
        protected override void CalcRowGroupInfo(DevExpress.XtraTreeList.Nodes.TreeListNodes nodes, CalcRowGroupInfoArgs rowArgs)
        {
            rowArgs.Index = TreeList.TopVisibleNodeIndex;
            TreeListNode node = TreeList.TopVisibleNode;

            if (!TreeListFilterHelper.IsNodeVisible(node))
            {
                node = TreeListNodesIterator.GetNextVisible(node);
            }
            while (node != null && rowArgs.Bounds.Top < ViewRects.Rows.Bottom)
            {
                ArrayList viewInfoList = null;
                RowInfo   ri           = CreateRowInfo(node);
                ri.VisibleIndex = rowArgs.Index;
                ri.Level        = TreeListFilterHelper.CalcVisibleNodeLevel(ri.Node);
                ri.Expanded     = ri.Node.Expanded;
                UpdateRowCondition(ri);
                ri.NodeHeight = CalcNodeHeight(ri, out viewInfoList);
                rowArgs.InflateBoundsHeight(ri.NodeHeight - RowHeight);
                Rectangle rect = rowArgs.Bounds;
                if (CanAddIndent(ri))
                {
                    rect.Y += TreeList.RootNodeIndent;
                }
                ri.Bounds = rect;
                CalcRowInfo(ri, viewInfoList);
                RowsInfo.Rows.Add(ri);
                if (CanAddIndent(ri))
                {
                    rowArgs.VertOffsetBounds(ri.Bounds.Height + TreeList.RootNodeIndent);
                }
                else
                {
                    rowArgs.VertOffsetBounds(ri.Bounds.Height);
                }
                CalcRowFooterInfo(node, rowArgs);
                rowArgs.IncIndex();
                node = TreeListNodesIterator.GetNextVisible(node);
            }
            RemoveInvisibleAnimatedItems();
        }
Пример #7
0
 /// <summary>
 /// 选中根据文字查找到的第一个项
 /// </summary>
 /// <param name="nodes"></param>
 /// <param name="filterTxt"></param>
 /// <returns></returns>
 private bool SetTreeNode(DevExpress.XtraTreeList.Nodes.TreeListNodes nodes, string filterTxt)
 {
     for (int _i = 0, _iCnt = nodes.Count; _i < _iCnt; _i++)
     {
         string _key = string.Format("{0}", nodes[_i][_DropDisplayName]).ToUpper();
         if (filterTxt.Length > 2 ? _key.Contains(filterTxt) : _key.StartsWith(filterTxt))
         {
             //base.EditValue = nodes[_i].GetValue(ValueMember);//选择的时候不设置,在btnOk_Click的时候设置EditValue ,
             this.popTree.FocusedNode = nodes[_i];//9.5版本必须用这个才能设置选中项
             nodes[_i].Selected       = true;
             return(true);
         }
         if (nodes[_i].Nodes.Count > 0)
         {
             if (SetTreeNode(nodes[_i].Nodes, filterTxt))
             {
                 nodes[_i].Expanded = true;
                 return(true);
             }
         }
     }
     return(false);
 }