/// <summary> /// 填充Grid星星★★★★★权限 /// </summary> /// <param name="dg"></param> /// <param name="chx"></param> /// <param name="btn"></param> private void FillPermissionDataRange(DataGrid dg, string chx, string btn) { if (dg.Tag == "1") {//如果填充过了,就不填了 return; } //注消事件 //RoleClient.GetRolePermsCompleted -= new EventHandler<GetRolePermsCompletedEventArgs>(RoleClient_GetRolePermsCompleted); //if (tmpEditRoleEntityPermList.Count() == 0) return; if (EntityPermissionInfosListSecond.Count() == 0) { return; } if (dg.Columns.Count < tmpPermission.Count) { return; //还没有动态生成列 } if (dg.ItemsSource != null) { #region //T_SYS_ROLEENTITYMENU tmpRoleEntity = new T_SYS_ROLEENTITYMENU(); V_UserPermissionRoleID tmpRoleEntity = new V_UserPermissionRoleID(); //Button hrrate; Button hrrate; if (dg.ItemsSource == null) { return; } foreach (V_MenuSetRole obj in (List <V_MenuSetRole>)dg.ItemsSource) { //var bb = from a in tmpEditRoleEntityLIst // where a.T_SYS_ENTITYMENU.ENTITYMENUID == obj.ENTITYMENUID // select a; var bb = from a in EntityPermissionInfosListSecond where a.EntityMenuID == obj.ENTITYMENUID select a; if (bb.Count() > 0) { tmpRoleEntity = bb.FirstOrDefault(); int PermCount = tmpPermission.Count; for (int i = 1; i < PermCount + 1; i++) { if (dg.Columns[i].GetCellContent(obj) != null) { var roles = from cc in EntityPermissionInfosListSecond where cc.RoleEntityMenuID == tmpRoleEntity.RoleEntityMenuID && cc.PermissionID == tmpPermission[i - 1].PERMISSIONID select cc; if (roles.Count() > 0) { //hrrate = dg.Columns[i].GetCellContent(obj).FindName(btn) as Button; hrrate = dg.Columns[i].GetCellContent(obj).FindName(btn) as Button; if (hrrate == null) { continue; } #region 填星星 switch (roles.FirstOrDefault().PermissionDataRange) { //case "0"://集团 // //hrrate.Value = 1; // hrrate.Content = "★★★★★"; // break; case "1": //公司 //hrrate.Value = 0.8; hrrate.Content = "★★★★"; break; case "2": //部门 //hrrate.Value = 0.6; hrrate.Content = "★★★"; break; case "3": //岗位 //hrrate.Value = 0.4; hrrate.Content = "★★"; break; case "4": //个人 //hrrate.Value = 0.2; hrrate.Content = "★"; break; } #endregion if (dg.Tag != "1") { dg.Tag = "1"; } } } } } //} } #endregion } }
/// <summary> /// 填充Grid星星★★★★★权限 /// </summary> /// <param name="dg"></param> /// <param name="chx"></param> /// <param name="btn"></param> private void FillPermissionDataRange(DataGrid dg, string chx, string btn) { if (dg.Tag == "1") {//如果填充过了,就不填了 return; } //注消事件 //RoleClient.GetRolePermsCompleted -= new EventHandler<GetRolePermsCompletedEventArgs>(RoleClient_GetRolePermsCompleted); //if (tmpEditRoleEntityPermList.Count() == 0) return; if (EntityPermissionInfosListSecond.Count() == 0) return; if (dg.Columns.Count < tmpPermission.Count) return;//还没有动态生成列 if (dg.ItemsSource != null) { #region //T_SYS_ROLEENTITYMENU tmpRoleEntity = new T_SYS_ROLEENTITYMENU(); V_UserPermissionRoleID tmpRoleEntity = new V_UserPermissionRoleID(); //Button hrrate; Button hrrate; if (dg.ItemsSource == null) return; foreach (V_MenuSetRole obj in (List<V_MenuSetRole>)dg.ItemsSource) { //var bb = from a in tmpEditRoleEntityLIst // where a.T_SYS_ENTITYMENU.ENTITYMENUID == obj.ENTITYMENUID // select a; var bb = from a in EntityPermissionInfosListSecond where a.EntityMenuID == obj.ENTITYMENUID select a; if (bb.Count() > 0) { tmpRoleEntity = bb.FirstOrDefault(); int PermCount = tmpPermission.Count; for (int i = 1; i < PermCount + 1; i++) { if (dg.Columns[i].GetCellContent(obj) != null) { var roles = from cc in EntityPermissionInfosListSecond where cc.RoleEntityMenuID == tmpRoleEntity.RoleEntityMenuID && cc.PermissionID == tmpPermission[i - 1].PERMISSIONID select cc; if (roles.Count() > 0) { //hrrate = dg.Columns[i].GetCellContent(obj).FindName(btn) as Button; hrrate = dg.Columns[i].GetCellContent(obj).FindName(btn) as Button; if (hrrate == null) continue; #region 填星星 switch (roles.FirstOrDefault().PermissionDataRange) { //case "0"://集团 // //hrrate.Value = 1; // hrrate.Content = "★★★★★"; // break; case "1"://公司 //hrrate.Value = 0.8; hrrate.Content = "★★★★"; break; case "2"://部门 //hrrate.Value = 0.6; hrrate.Content = "★★★"; break; case "3"://岗位 //hrrate.Value = 0.4; hrrate.Content = "★★"; break; case "4"://个人 //hrrate.Value = 0.2; hrrate.Content = "★"; break; } #endregion if (dg.Tag != "1") { dg.Tag = "1"; } } } } } //} } #endregion } }