//private System.Windows.Forms.ToolStrip m_toolStripMaster, m_toolStripDetail; //private List<System.Windows.Forms.ToolStripItem> m_tsbsMaster = new List<System.Windows.Forms.ToolStripItem>(); //private List<System.Windows.Forms.ToolStripItem> m_tsbsDetail = new List<System.Windows.Forms.ToolStripItem>(); public GeneratedArchiveSeeForm(WindowInfo windowInfo, DataGridType dataGridType) : base(dataGridType == DataGridType.DataUnboundGridLoadOnDemand ? (MyGrid)(new DataUnboundWithDetailGridLoadOnDemand()) : (dataGridType == DataGridType.DataBoundGridLoadOnDemand ? (MyGrid)(new DataBoundWithDetailGridLoadOnDemand()) : (dataGridType == DataGridType.DataUnboundGridLoadOnce ? (MyGrid)(new DataUnboundWithDetailGridLoadonce()) : null))) { Initialize(windowInfo); }
/// <summary> /// 网格参数设置 /// </summary> /// <param name="gridType"></param> /// <param name="gridParams"></param> /// <param name="request"></param> public void GridParamsSet(DataGridType gridType, GridParams gridParams, HttpRequest request = null) { string tp = string.Empty; if (gridParams.DicPramas != null && gridParams.DicPramas.ContainsKey("p_tp")) { tp = gridParams.DicPramas["p_tp"].ObjToStr(); } if (!string.IsNullOrEmpty(tp)) { int tpType = tp.ObjToInt(); gridParams.DataOrUrl = string.Format("/BpmAsync/GetMyToDoList.html?moduleName={0}&tp={1}", HttpUtility.UrlEncode("待办任务"), tpType); if (gridType == DataGridType.DesktopGrid) { if (gridParams.DicPramas.ContainsKey("top")) { gridParams.DataOrUrl += "&top=" + gridParams.DicPramas["top"].ObjToInt(); } if (tpType == 1) //我的申请 { gridParams.GridFields = new List <Sys_GridField>(); gridParams.GridFields.Add(new Sys_GridField() { Sys_FieldName = "Title", Width = 380, Sort = 1 }); gridParams.GridFields.Add(new Sys_GridField() { Sys_FieldName = "Status", Width = 60, Sort = 2 }); gridParams.GridFields.Add(new Sys_GridField() { Sys_FieldName = "OrgM_EmpName", Width = 60, Sort = 3 }); } } } else { gridParams.DataOrUrl = string.Empty; } }
/// <summary> /// 网格参数重写 /// </summary> /// <param name="gridType">网格类型</param> /// <param name="gridParams">网格参数</param> /// <param name="request">请求对象</param> public void GridParamsSet(DataGridType gridType, GridParams gridParams, HttpRequest request = null) { Sys_GridField enameField = gridParams.GridFields.Where(x => x.Sys_FieldName == "EName").FirstOrDefault(); int index = gridParams.GridFields.IndexOf(enameField); gridParams.GridFields.Insert(index + 1, new Sys_GridField() { Sys_FieldName = "DeptId", Sort = 3, AlignOfEnum = AlignTypeEnum.Left, Width = 0, IsVisible = false }); gridParams.GridFields.Insert(index + 1, new Sys_GridField() { Sys_FieldName = "DeptName", Display = "部门", Sort = 3, AlignOfEnum = AlignTypeEnum.Left, Width = 120, IsVisible = true }); gridParams.GridFields.Insert(index + 2, new Sys_GridField() { Sys_FieldName = "DutyId", Sort = 3, AlignOfEnum = AlignTypeEnum.Left, Width = 0, IsVisible = false }); gridParams.GridFields.Insert(index + 2, new Sys_GridField() { Sys_FieldName = "DutyName", Display = "职务", Sort = 4, AlignOfEnum = AlignTypeEnum.Left, Width = 120, IsVisible = true }); }
/// <summary> /// 获取网格过滤条件 /// </summary> /// <param name="where"></param> /// <param name="gridType"></param> /// <param name="condition"></param> /// <param name="initModule"></param> /// <param name="initField"></param> /// <param name="otherParams"></param> /// <param name="currUser"></param> /// <returns></returns> public Expression <Func <Bpm_WorkToDoList, bool> > GetGridFilterCondition(out string where, DataGridType gridType, Dictionary <string, string> condition = null, string initModule = null, string initField = null, Dictionary <string, string> otherParams = null, UserInfo currUser = null) { where = string.Empty; return(null); }
/// <summary> /// 获取网格HTML /// </summary> /// <param name="request">请求对象</param> /// <returns></returns> public static string GetGridHTML(HttpRequest request) { UserInfo currUser = UserInfo.GetCurretnUser(ApplicationObject.GetHttpContext(request)); if (currUser == null) { return(GetAccountExpiredTipHtml()); } #region 参数初始化 Guid moduleId = UIOperate.GetModuleIdByRequest(request); //模块Id Guid? menuId = request.Query.ContainsKey("mId") ? request.Query["mId"].ObjToGuidNull() : null; //菜单ID UIFrameFactory frameFactory = UIFrameFactory.GetInstance(request); string condition = string.Empty; //条件参数 Guid? viewId = null; //视图Id DataGridType gridType = DataGridType.MainGrid; string initModule = string.Empty; string initField = string.Empty; Dictionary <string, object> dic = null; //网格其他参数 string page = request.Query["page"].ObjToStr(); //页面类型 condition = HttpUtility.UrlDecode(request.Query["condition"].ObjToStr()); //条件参数 viewId = request.Query.ContainsKey("viewId") ? request.Query["viewId"].ObjToGuidNull() : null; //视图Id bool recycle = request.Query["recycle"].ObjToInt() == 1; //是否回收站 bool draft = request.Query["draft"].ObjToInt() == 1; //我的草稿 gridType = DataGridType.MainGrid; initModule = string.Empty; initField = string.Empty; if (page == "fdGrid") //弹出网格 { gridType = DataGridType.DialogGrid; } else if (page == "fwGrid") //列表页面明细或附属模块网格 { gridType = DataGridType.FlowGrid; } else if (page == "inGrid") //网格内嵌入网格 { gridType = DataGridType.InnerDetailGrid; } else if (page == "otGrid") //其他网格 { gridType = DataGridType.Other; } else if (recycle) //回收站网格 { gridType = DataGridType.RecycleGrid; } else if (draft) //我的草稿网格 { gridType = DataGridType.MyDraftGrid; } if (gridType == DataGridType.DialogGrid) { initModule = HttpUtility.UrlDecode(request.Query["initModule"].ObjToStr()); initField = request.Query["initField"].ObjToStr(); } //where条件语句 string where = request.Query["where"].ObjToStr(); if (!string.IsNullOrWhiteSpace(where)) { try { where = MySecurity.DecodeBase64(HttpUtility.UrlDecode(where)).ReplaceSpecialCharOfSQL(); } catch { where = string.Empty; } } //过滤字段 List <string> filterFieldsList = null; string filterFields = request.Query["filterFields"].ObjToStr(); if (!string.IsNullOrWhiteSpace(filterFields)) { filterFieldsList = filterFields.Split(",".ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries).ToList(); } //提出网格参数 if (request.Query.Keys.Where(x => x.StartsWith("p_")).Count() > 0) { dic = new Dictionary <string, object>(); List <string> keys = request.Query.Keys.Where(x => x.StartsWith("p_")).Distinct().ToList(); foreach (string key in keys) { dic.Add(key, request.Query[key]); } } string mutiSelect = request.Query["ms"].ObjToStr(); //启用多选 if (mutiSelect == "1") { if (dic == null) { dic = new Dictionary <string, object>(); } dic.Add("muti_select", true); } #endregion #region 权限判断 if (gridType == DataGridType.MainGrid) { bool noVeryfyMenuPower = request != null && request.Query["nvm"].ObjToInt() == 1; //包含nvm=1时不验证菜单权限 if (!noVeryfyMenuPower) //需要验证菜单权限 { bool hasPermission = menuId.HasValue && menuId.Value != Guid.Empty ? PermissionOperate.HasMenuPermission(currUser, menuId.Value) : PermissionOperate.HasModuleBrowerPermission(currUser, moduleId); if (!hasPermission) { return("<div style=\"padding-top:20px;width:100%;text-align:center\"><font style=\"color:red;font-size:16px;font-weight:bold;\">您没有该模块数据的浏览权限!</font>"); } } } #endregion return(frameFactory.GetGridHTML(moduleId, gridType, condition, where, viewId, initModule, initField, dic, false, filterFieldsList, menuId, false, request)); }
/// <summary> /// 网格条件过滤 /// </summary> /// <param name="where">where</param> /// <param name="gridType">网格类型</param> /// <param name="condition">条件</param> /// <param name="initModule">原始模块,针对表单弹出框</param> /// <param name="initField">原始字段,针对表单弹出框</param> /// <param name="otherParams">其他参数</param> /// <param name="currUser">当前用户</param> /// <returns></returns> public Expression <Func <OrgM_Emp, bool> > GetGridFilterCondition(out string where, DataGridType gridType, Dictionary <string, string> condition = null, string initModule = null, string initField = null, Dictionary <string, string> otherParams = null, UserInfo currUser = null) { where = string.Empty; if (condition != null && condition.ContainsKey("OrgM_DeptId")) { OrgM_Dept root = OrgMOperate.GetDeptRoot(); Guid deptId = condition["OrgM_DeptId"].ObjToGuid(); if (deptId == Guid.Empty && root != null && root.Id != Guid.Empty) { deptId = root.Id; } List <Guid> childDeptIds = OrgMOperate.GetChildDepts(deptId).Select(x => x.Id).ToList(); childDeptIds.Add(deptId); string deptIdStr = string.Join("','", childDeptIds); where = string.Format("Id IN(SELECT OrgM_EmpId FROM dbo.OrgM_EmpDeptDuty WHERE OrgM_DeptId IN('{0}'))", deptIdStr); condition.Remove("OrgM_DeptId"); } return(null); }
/// <summary> /// 网格参数设置 /// </summary> /// <param name="gridType"></param> /// <param name="gridParams"></param> /// <param name="request"></param> public void GridParamsSet(DataGridType gridType, TempModel.GridParams gridParams, HttpRequest request = null) { }
/// <summary> /// 网格参数重写 /// </summary> /// <param name="gridType">网格类型</param> /// <param name="gridParams">网格参数</param> /// <param name="request">请求对象</param> public void GridParamsSet(DataGridType gridType, GridParams gridParams, HttpRequestBase request = null) { }