using DevExpress.XtraEditors; using Gs.DevApp.Properties; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Gs.DevApp.DevFrm.User { public partial class ViewRole : DevExpress.XtraEditors.XtraForm { private readonly string _userGuid; public ViewRole(string userGuid) { InitializeComponent(); _userGuid = userGuid; GetTree(_userGuid); } /// /// 查看用户的权限集合 /// /// private void GetTree(string userGuid) { trv.Nodes.Clear(); var imageList = new ImageList(); imageList.Images.Add("icon0", Resources.addfooter_32x32); imageList.Images.Add("icon1", Resources.listmultilevel_16x16); imageList.Images.Add("icon2", Resources.addcalculatedfield_16x16); // trv.ImageList = imageList; var _obj = new { userGuid }; var strReturn = ""; try { strReturn = UtilityHelper.HttpPost("", "Role/GetUserMenuAction", JsonConvert.SerializeObject(_obj)); var dd = UtilityHelper.ReturnToTablePage(strReturn); var dt = dd.rtnData.list; var drGrp = dt.Select("upGuid='' or upGuid is null"); // 使用DefaultView.Sort对筛选后的结果进行排序 DataTable sortedTable = drGrp.CopyToDataTable(); sortedTable.DefaultView.Sort = "idx ASC"; DataTable result = sortedTable.DefaultView.ToTable(); var _gou = "✔ "; foreach (DataRow _dy in result.Rows) { var node = new TreeNode(); //定义结点 node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") + _dy["name"]; //为结点赋值 node.Name = _dy["guid"].ToString(); node.ImageIndex = 0; node.Checked = _dy["isCk"].ToString() == "1" ? true : false; var drItem = dt.Select("upGuid='" + _dy["guid"] + "'"); foreach (var _dy2 in drItem) { var node22 = new TreeNode(); //定义结点 node22.Text = (_dy2["isCk"].ToString() == "1" ? _gou : "") + _dy2["name"]; //为结点赋值 node22.Name = _dy2["guid"].ToString(); node22.ImageIndex = 1; node22.Checked = _dy2["isCk"].ToString() == "1" ? true : false; var drItem33 = dt.Select("upGuid='" + _dy2["guid"] + "'"); foreach (var _dy3 in drItem33) { var node33 = new TreeNode(); //定义结点 node33.Text = (_dy3["isCk"].ToString() == "1" ? _gou : "") + _dy3["name"]; //为结点赋值 node33.Name = _dy3["guid"].ToString(); node33.ImageIndex = 2; node33.Checked = _dy3["isCk"].ToString() == "1" ? true : false; node22.Nodes.Add(node33); } node22.Collapse(); node.Nodes.Add(node22); } node.Expand(); trv.Nodes.Add(node); } } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } } }