private void tbtEdit_Click(object sender, EventArgs e) { if (dataGridView.CurrentRow == null) { MessageBox.Show("请选择一项!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } CReport obj = (CReport)dataGridView.CurrentRow.Tag; ReportWizard frm = new ReportWizard(); Guid Catalog_id = (catalog == null) ? Guid.Empty : catalog.Id; frm.m_Catalog_id = Catalog_id; frm.m_Company = Company; frm.m_Report = obj; if (frm.ShowDialog() != DialogResult.OK) { return; } CBaseObjectMgr BaseObjectMgr = Company.ReportMgr; DataGridViewRow row = dataGridView.CurrentRow; foreach (DataGridViewColumn column in dataGridView.Columns) { CColumn col = (CColumn)column.Tag; if (col.ColType == ColumnType.object_type) { if (obj.GetColValue(col) != null) { row.Cells[column.Name].Value = "long byte"; } } else if (col.ColType == ColumnType.ref_type) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); if (table == null) { continue; } CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { row.Cells[column.Name].Value = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); } else { CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr != null) { CBaseObject objCache = objMgr.FindByValue(RefCol, objVal); if (objCache != null) { row.Cells[column.Name].Value = objCache.GetColValue(RefShowCol); } } else { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; row.Cells[column.Name].Value = obj2.GetColValue(RefShowCol); } } } } else { row.Cells[column.Name].Value = obj.GetColValue(col); } } }
void GetData() { int page = Convert.ToInt32(Request.Params["page"]); int pageSize = Convert.ToInt32(Request.Params["pagesize"]); string catalog_id = Request["catalog_id"]; string sData = ""; List <CBaseObject> lstObj = new List <CBaseObject>(); CBaseObjectMgr BaseObjectMgr = m_Company.ReportMgr; List <CBaseObject> lstRpt = BaseObjectMgr.GetList(); foreach (CBaseObject objRpt in lstRpt) { CReport Report = (CReport)objRpt; if (!string.IsNullOrEmpty(catalog_id)) { Guid guid = new Guid(catalog_id); if (Report.RPT_ReportCatalog_id == guid) { lstObj.Add(Report); } } else { //所有目录不存在的都放置根目录 CBaseObject objCatalog = m_Company.ReportCatalogMgr.Find(Report.RPT_ReportCatalog_id); if (objCatalog == null) { lstObj.Add(Report); } } } int totalPage = lstObj.Count % pageSize == 0 ? lstObj.Count / pageSize : lstObj.Count / pageSize + 1; // 计算总页数 int index = (page - 1) * pageSize; // 开始记录数 for (int i = index; i < pageSize + index && i < lstObj.Count; i++) { CBaseObject obj = (CBaseObject)lstObj[i]; string sRow = ""; foreach (CBaseObject objC in m_Table.ColumnMgr.GetList()) { CColumn col = (CColumn)objC; if (col.ColType == ColumnType.object_type) { string sVal = ""; if (obj.GetColValue(col) != null) { sVal = "long byte"; } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else if (col.ColType == ColumnType.ref_type) { CTable RefTable = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(col.RefTable); if (RefTable == null) { continue; } CColumn RefCol = (CColumn)RefTable.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)RefTable.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); string sVal = ""; Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { object objVal2 = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } else { CBaseObjectMgr objRefMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(RefTable.Code, guidParentId); if (objRefMgr != null) { CBaseObject objCache = objRefMgr.FindByValue(RefCol, objVal); if (objCache != null) { object objVal2 = objCache.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } else { objRefMgr = new CBaseObjectMgr(); objRefMgr.TbCode = RefTable.Code; objRefMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objRefMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; object objVal2 = obj2.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else { string sVal = ""; object objVal = obj.GetColValue(col); if (objVal != null) { sVal = objVal.ToString(); } Util.ConvertJsonSymbol(ref sVal); sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } } sRow = sRow.TrimEnd(",".ToCharArray()); sRow = "{" + sRow + "},"; sData += sRow; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.End(); } m_User = (CUser)Session["User"]; string vid = Request["vid"]; if (string.IsNullOrEmpty(vid)) { Response.End(); } m_View = (CView)Global.GetCtx(Session["TopCompany"].ToString()).ViewMgr.Find(new Guid(vid)); if (m_View == null) { Response.End(); } m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_View.FW_Table_id); //检查权限 if (!CheckAccess()) { Response.End(); } string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { m_guidParentId = new Guid(ParentId); } string id = Request["id"]; if (string.IsNullOrEmpty(id)) { Response.Write("请选择记录!"); Response.End(); } m_BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (m_BaseObjectMgr == null) { m_BaseObjectMgr = new CBaseObjectMgr(); m_BaseObjectMgr.TbCode = m_Table.Code; m_BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" id='{0}'", id); m_BaseObjectMgr.GetList(sWhere); } m_BaseObject = m_BaseObjectMgr.Find(new Guid(id)); if (m_BaseObject == null) { Response.Write("请选择记录!"); Response.End(); } //保存到编辑对象 EditObject.Add(Session.SessionID, m_BaseObject); if (!IsPostBack) { recordCtrl.m_View = m_View; recordCtrl.m_Table = m_Table; recordCtrl.m_sortRestrictColumnAccessType = m_sortRestrictColumnAccessType; recordCtrl.m_BaseObject = m_BaseObject; if (!string.IsNullOrEmpty(Request["UIColCount"])) { recordCtrl.m_iUIColCount = Convert.ToInt32(Request["UIColCount"]); } } if (Request.Params["Action"] == "Cancel") { m_BaseObject.Cancel(); Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); //从编辑对象移除 EditObject.Remove(Session.SessionID, m_BaseObject); Response.End(); } }
//生成自引用树节点 List <TreeNode> SelfLoop(CTableInWindowControl tiwc, string sFilter, TreeNode pnode) { List <TreeNode> lstTreeNode = new List <TreeNode>(); CTable table = (CTable)Program.Ctx.TableMgr.Find(tiwc.FW_Table_id); if (table == null) { return(lstTreeNode); } CBaseObjectMgr BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.Ctx = Program.Ctx; BaseObjectMgr.TbCode = table.Code; List <CBaseObject> lstObj = BaseObjectMgr.GetList(sFilter); foreach (CBaseObject obj in lstObj) { string sText = tiwc.Text.ToLower(); int iStart = 0; while (sText.IndexOf('[', iStart) > -1) { int idx1 = sText.IndexOf('[', iStart); int idx2 = sText.IndexOf(']', idx1); iStart = idx1 + 1; if (idx2 > idx1) { string sCodeN = sText.Substring(idx1, idx2 - idx1 + 1); string sCode = sCodeN.Substring(1, sCodeN.Length - 2); CColumn column = table.ColumnMgr.FindByCode(sCode); if (column == null) { continue; } string sVal = obj.GetColValue(column).ToString(); sText = sText.Replace(sCodeN, sVal); } } TreeNode node = new TreeNode(); node.Text = sText; if (pnode == null) { treeView.Nodes.Add(node); } else { pnode.Nodes.Add(node); } CColumn col = (CColumn)table.ColumnMgr.Find(tiwc.NodeIDCol); CColumn pcol = (CColumn)table.ColumnMgr.Find(tiwc.PNodeIDCol); string sVal2 = obj.GetColValue(col).ToString(); if (col.ColType == ColumnType.string_type || col.ColType == ColumnType.ref_type || col.ColType == ColumnType.guid_type || col.ColType == ColumnType.datetime_type || col.ColType == ColumnType.text_type) { sVal2 = "'" + sVal2 + "'"; } string sSubFilter2 = string.Format(" {0}={1}", pcol.Code, sVal2); string sFilter2 = tiwc.QueryFilter; if (sFilter2.Trim() != "") { sFilter2 += " and "; } sFilter2 += sSubFilter2; SelfLoop(tiwc, sFilter2, node); lstTreeNode.Add(node); } return(lstTreeNode); }
public TableWindow(CBaseObjectMgr BaseObjectMgr) { InitializeComponent(); tableCtrl.BaseObjectMgr = BaseObjectMgr; }
void LoadData() { if (FormF == null) { return; } this.Width = FormF.Width; this.Height = FormF.Height; List <CBaseObject> lstFormControl = FormF.FormControlMgr.GetList(); foreach (CBaseObject obj in lstFormControl) { CFormControl FormControl = (CFormControl)obj; if (FormControl.CtrlType == (int)ControlType.TableGrid) { if (FormControl.TableInFormControlMgr.GetList().Count == 0) { continue; } CTableInFormControl TableInFormControl = (CTableInFormControl)FormControl.TableInFormControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInFormControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; TableGridF te = new TableGridF(); te.TableInFormControl = TableInFormControl; te.BaseObjectMgr = objMgr; te.Name = FormControl.Name; te.ShowToolBar = TableInFormControl.ShowToolBar; te.ShowTitleBar = TableInFormControl.ShowTitleBar; te.CaptionText = FormControl.Name; te.Tag = FormControl; flowPanel.Controls.Add(te); te.dataGridView.CellClick += new DataGridViewCellEventHandler(dataGridView_CellClick); } else if (FormControl.CtrlType == (int)ControlType.TableTree) { TableTreeF tt = new TableTreeF(); tt.CaptionText = FormControl.Name; tt.ShowTitleBar = FormControl.ShowTitleBar; tt.FormControl = FormControl; tt.Name = FormControl.Name; tt.Tag = FormControl; flowPanel.Controls.Add(tt); tt.Dock = DockStyle.Fill; tt.BringToFront(); tt.treeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseClick); } else if (FormControl.CtrlType == (int)ControlType.TableTab) { TableTabF tab = new TableTabF(); tab.FormControl = FormControl; tab.CaptionText = FormControl.Name; tab.Name = FormControl.Name; tab.ShowTitleBar = FormControl.ShowTitleBar; tab.Tag = FormControl; flowPanel.Controls.Add(tab); tab.Dock = DockStyle.Fill; tab.BringToFront(); } else if (FormControl.CtrlType == (int)ControlType.ComboBox) { if (FormControl.TableInFormControlMgr.GetList().Count == 0) { continue; } CTableInFormControl TableInFormControl = (CTableInFormControl)FormControl.TableInFormControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInFormControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; UIComboBoxF cb = new UIComboBoxF(); cb.CaptionText = FormControl.Name + ":"; cb.TableInFormControl = TableInFormControl; cb.BaseObjectMgr = objMgr; cb.Name = FormControl.Name; cb.Tag = FormControl; flowPanel.Controls.Add(cb); cb.Dock = DockStyle.Top; cb.BringToFront(); cb.comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelectedIndexChanged); } else if (FormControl.CtrlType == (int)ControlType.ListBox) { if (FormControl.TableInFormControlMgr.GetList().Count == 0) { continue; } CTableInFormControl TableInFormControl = (CTableInFormControl)FormControl.TableInFormControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInFormControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; UIListBoxF listBox = new UIListBoxF(); listBox.CaptionText = FormControl.Name; listBox.TableInFormControl = TableInFormControl; listBox.BaseObjectMgr = objMgr; listBox.Name = FormControl.Name; listBox.Tag = FormControl; flowPanel.Controls.Add(listBox); listBox.Dock = DockStyle.Fill; listBox.BringToFront(); listBox.listBox.SelectedIndexChanged += new EventHandler(listBox_SelectedIndexChanged); } } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.End(); } m_User = (CUser)Session["User"]; string vid = Request["vid"]; if (string.IsNullOrEmpty(vid)) { Response.End(); } m_View = (CView)Global.GetCtx(Session["TopCompany"].ToString()).ViewMgr.Find(new Guid(vid)); if (m_View == null) { Response.End(); } m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_View.FW_Table_id); //检查权限 if (!CheckAccess()) { Response.End(); } string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { m_guidParentId = new Guid(ParentId); } string id = Request["id"]; if (string.IsNullOrEmpty(id)) { Response.Write("请选择记录!"); Response.End(); } if (Session["EditMultMasterDetailViewRecord"] != null) { SortedList <Guid, CBaseObject> arrP = (SortedList <Guid, CBaseObject>)Session["EditMultMasterDetailViewRecord"]; CBaseObject objP = (CBaseObject)arrP.Values[0]; if (objP.Id.ToString() != id) { Session["EditMultMasterDetailViewRecord"] = null; } } if (Session["EditMultMasterDetailViewRecord"] == null) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr == null) { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" id='{0}'", id); BaseObjectMgr.GetList(sWhere); } CBaseObject obj = BaseObjectMgr.Find(new Guid(id)); if (obj == null) { Response.Write("请选择记录!"); Response.End(); } SortedList <Guid, CBaseObject> arrP = new SortedList <Guid, CBaseObject>(); arrP.Add(obj.Id, obj); Session["EditMultMasterDetailViewRecord"] = arrP; } SortedList <Guid, CBaseObject> arrP2 = (SortedList <Guid, CBaseObject>)Session["EditMultMasterDetailViewRecord"]; m_BaseObject = (CBaseObject)arrP2.Values[0]; //保存到编辑对象 EditObject.Add(Session.SessionID, m_BaseObject); if (!IsPostBack) { recordCtrl.m_View = m_View; recordCtrl.m_Table = m_Table; recordCtrl.m_sortRestrictColumnAccessType = m_sortRestrictColumnAccessType; recordCtrl.m_BaseObject = m_BaseObject; if (!string.IsNullOrEmpty(Request["UIColCount"])) { recordCtrl.m_iUIColCount = Convert.ToInt32(Request["UIColCount"]); } //隐藏字段 string sHideCols = Request["HideCols"]; if (!string.IsNullOrEmpty(sHideCols)) { string[] arr = sHideCols.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (string code in arr) { recordCtrl.m_sortHideColumn.Add(code, code); } } } if (Request.Params["Action"] == "Cancel") { Session["EditMultMasterDetailViewRecord"] = null; m_BaseObject.Cancel(); //从编辑对象移除 EditObject.Remove(Session.SessionID, m_BaseObject); Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); //从编辑对象移除 EditObject.Remove(Session.SessionID, m_BaseObject); Response.End(); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("../Login.aspx"); Response.End(); } string TbCode = Request["TbCode"]; string id = Request["id"]; string WF_WorkflowDef_id = Request["WF_WorkflowDef_id"]; if (string.IsNullOrEmpty(TbCode) || string.IsNullOrEmpty(id) || string.IsNullOrEmpty(WF_WorkflowDef_id)) { Response.Write("数据不完整!"); Response.End(); return; } Guid guidParentId = Guid.Empty; string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { guidParentId = new Guid(ParentId); } CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(TbCode, guidParentId); if (BaseObjectMgr == null) { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = TbCode; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } //只能存在一个运行的工作流实例 Guid objId = new Guid(id); List <CWorkflow> lstWF = BaseObjectMgr.WorkflowMgr.FindLastByRowid(objId); foreach (CWorkflow wf in lstWF) { if (wf.WF_WorkflowDef_id == new Guid(WF_WorkflowDef_id) && wf.State == enumApprovalState.Running) { Response.Write("该工作流已经启动!"); Response.End(); return; } } //创建工作流实例并运行 CUser user = (CUser)Session["User"]; CWorkflow Workflow = new CWorkflow(); Workflow.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); Workflow.WF_WorkflowDef_id = new Guid(WF_WorkflowDef_id); Workflow.State = enumApprovalState.Init; Workflow.Row_id = objId; Workflow.Creator = user.Id; Workflow.B_Company_id = user.B_Company_id; string sErr = ""; if (!BaseObjectMgr.WorkflowMgr.StartWorkflow(Workflow, out sErr)) { Response.Write(string.Format("启动工作流失败:{0}", sErr)); Response.End(); return; } BaseObjectMgr.WorkflowMgr.AddNew(Workflow); if (!BaseObjectMgr.WorkflowMgr.Save(true)) { Response.Write("创建工作流失败!"); Response.End(); return; } Response.End(); }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.End(); } m_User = (CUser)Session["User"]; string vid = Request["vid"]; if (string.IsNullOrEmpty(vid)) { Response.End(); } m_View = (CView)Global.GetCtx(Session["TopCompany"].ToString()).ViewMgr.Find(new Guid(vid)); if (m_View == null) { Response.End(); } m_ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj(); if (m_ViewDetail == null) { Response.End(); } m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_ViewDetail.FW_Table_id); m_sortRestrictColumnAccessType = m_User.GetRestrictColumnAccessTypeList(m_Table); string id = Request["id"]; if (string.IsNullOrEmpty(id)) { Response.End(); } if (Session["AddMasterDetailViewRecord"] == null) { Response.End(); } CBaseObject objP = (CBaseObject)Session["AddMasterDetailViewRecord"]; m_BaseObjectMgr = objP.GetSubObjectMgr(m_Table.Code, typeof(CBaseObjectMgr)); m_BaseObject = m_BaseObjectMgr.Find(new Guid(id)); if (m_BaseObject == null) { Response.Write("请选择记录!"); Response.End(); } if (!IsPostBack) { recordCtrl.m_ViewDetail = m_ViewDetail; recordCtrl.m_Table = m_Table; recordCtrl.m_sortRestrictColumnAccessType = m_sortRestrictColumnAccessType; recordCtrl.m_BaseObject = m_BaseObject; if (!string.IsNullOrEmpty(Request["UIColCount"])) { recordCtrl.m_iUIColCount = Convert.ToInt32(Request["UIColCount"]); } //隐藏字段 string sHideCols = Request["HideCols"]; if (!string.IsNullOrEmpty(sHideCols)) { string[] arr = sHideCols.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (string code in arr) { recordCtrl.m_sortHideColumn.Add(code, code); } } } if (Request.Params["Action"] == "Cancel") { Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); Response.End(); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("../Login.aspx"); Response.End(); } m_User = (CUser)Session["User"]; m_Company = (CCompany)Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.Find(m_User.B_Company_id); string TbCode = Request["TbCode"]; string id = Request["id"]; string WF_Workflow_id = Request["WF_Workflow_id"]; if (string.IsNullOrEmpty(TbCode) || string.IsNullOrEmpty(id) || string.IsNullOrEmpty(WF_Workflow_id)) { Response.Write("数据不完整!"); Response.End(); return; } string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { m_guidParentId = new Guid(ParentId); } m_BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(TbCode, m_guidParentId); if (m_BaseObjectMgr == null) { m_BaseObjectMgr = new CBaseObjectMgr(); m_BaseObjectMgr.TbCode = TbCode; m_BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } m_BaseObject = m_BaseObjectMgr.Find(new Guid(id)); m_Workflow = (CWorkflow)m_BaseObjectMgr.WorkflowMgr.Find(new Guid(WF_Workflow_id)); if (m_Workflow.State != enumApprovalState.Running) { Response.Write("只有进行中的工作流才能审批!"); Response.End(); return; } m_Actives = m_Workflow.ActivesMgr.FindNotApproval(); if (m_Actives == null) { Response.Write("没有审批的活动!"); Response.End(); return; } if (m_Actives.AType == "按用户") { if (m_Actives.B_User_id != m_User.Id) { Response.Write("没有权限审批!"); Response.End(); return; } } else //按角色 { CRole Role = (CRole)m_Company.RoleMgr.Find(m_Actives.B_Role_id); if (Role == null || Role.UserInRoleMgr.FindByUserid(m_User.Id) == null) { Response.Write("没有权限审批!"); Response.End(); return; } } if (Request.Params["Action"] == "Accept") { Accept(); Response.End(); } else if (Request.Params["Action"] == "Reject") { Reject(); Response.End(); } }
public void LoadData() { if (BaseObjectMgr == null) { return; } if (dataGridView.Columns.Count == 0) { return; } dataGridView.Rows.Clear(); //检查权限 if (!CheckAccess()) { return; } List <CBaseObject> lstObj = BaseObjectMgr.GetList(); if (lstObj.Count == 0) { return; } dataGridView.Rows.Add(lstObj.Count); int nRowIdx = 0; foreach (CBaseObject obj in lstObj) { DataGridViewRow row = dataGridView.Rows[nRowIdx]; row.Tag = obj; foreach (DataGridViewColumn column in dataGridView.Columns) { //工作流 if (column.Name.Equals("workflow")) { continue; } // CColumn col = (CColumn)column.Tag; //判断禁止权限字段 if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { continue; } } // if (col.ColType == ColumnType.object_type) { if (obj.GetColValue(col) != null) { row.Cells[column.Name].Value = "long byte"; } } else if (col.ColType == ColumnType.ref_type) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); if (table == null) { continue; } CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { row.Cells[column.Name].Value = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); } else { CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr != null) { CBaseObject objCache = objMgr.FindByValue(RefCol, objVal); if (objCache != null) { row.Cells[column.Name].Value = objCache.GetColValue(RefShowCol); } } else { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; row.Cells[column.Name].Value = obj2.GetColValue(RefShowCol); } } } } else { row.Cells[column.Name].Value = obj.GetColValue(col); } } //UpdateRowWorkflow(row); nRowIdx++; } }
void GetDetail() { CViewDetail vd = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj(); CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(vd.FW_Table_id); //判断表权限 AccessType tableAccessType = m_User.GetTableAccess(table.Id); if (tableAccessType == AccessType.forbide) { Response.Write("没有表权限!"); return; } else if (tableAccessType == AccessType.read) { } else { } m_sortDetailRestrictColumnAccessType = m_User.GetRestrictColumnAccessTypeList(table); // CBaseObjectMgr objMgr = m_BaseObject.GetSubObjectMgr(table.Code, typeof(CBaseObjectMgr)); string sData = ""; CColumn colF = (CColumn)table.ColumnMgr.Find(vd.ForeignKey); if (colF == null) { return; } List <CBaseObject> lstObj = objMgr.GetList(); foreach (CBaseObject obj in lstObj) { string sRow = ""; foreach (CBaseObject objC in table.ColumnMgr.GetList()) { CColumn col = (CColumn)objC; //判断禁止权限字段 if (m_sortDetailRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortDetailRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { string sVal = ""; sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); continue; } } // if (col.ColType == ColumnType.object_type) { string sVal = ""; if (obj.GetColValue(col) != null) { sVal = "long byte"; } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else if (col.ColType == ColumnType.ref_type) { CTable RefTable = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(col.RefTable); if (RefTable == null) { continue; } CBaseObjectMgr objRefMgr = new CBaseObjectMgr(); objRefMgr.TbCode = RefTable.Code; objRefMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); CColumn RefCol = (CColumn)RefTable.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)RefTable.ColumnMgr.Find(col.RefShowCol); string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objRefMgr.GetList(sWhere, cmdParas); string sVal = ""; if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; object objVal = obj2.GetColValue(RefShowCol); if (objVal != null) { sVal = objVal.ToString(); } } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else { string sVal = ""; object objVal = obj.GetColValue(col); if (objVal != null) { sVal = objVal.ToString(); } Util.ConvertJsonSymbol(ref sVal); sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } } sRow = sRow.TrimEnd(",".ToCharArray()); sRow = "{" + sRow + "},"; sData += sRow; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
void item_Click(CMenu menu) { if (menu.MType == enumMenuType.ViewMenu) { CView view = (CView)Program.Ctx.ViewMgr.Find(menu.UI_View_id); if (view != null) { CTable table = (CTable)Program.Ctx.TableMgr.Find(view.FW_Table_id); if (table == null) { return; } CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr == null) { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; } if (view.VType == enumViewType.Single) { SingleView frm = new SingleView(); frm.View = view; frm.BaseObjectMgr = objMgr; frm.Show(); } else if (view.VType == enumViewType.MasterDetail) { MasterDetailView frm = new MasterDetailView(); frm.View = view; frm.BaseObjectMgr = objMgr; frm.Show(); } else { MultMasterDetailView frm = new MultMasterDetailView(); frm.View = view; frm.BaseObjectMgr = objMgr; frm.Show(); } } } else if (menu.MType == enumMenuType.WindowMenu) { CWindow window = (CWindow)Program.Ctx.WindowMgr.Find(menu.UI_Window_id); if (window != null) { LayoutWindow frm = new LayoutWindow(); frm.Window = window; frm.Show(); } } else if (menu.MType == enumMenuType.UrlMenu) { bool bIsWebUrl = menu.Url.Length > 4 && menu.Url.Substring(0, 4).Equals("http", StringComparison.OrdinalIgnoreCase); if (!bIsWebUrl && !File.Exists(menu.Url)) { MessageBox.Show(string.Format("{0} 不存在!", menu.Url)); return; } System.Diagnostics.Process.Start(menu.Url); } else if (menu.MType == enumMenuType.ReportMenu) { CCompany Company = (CCompany)Program.Ctx.CompanyMgr.Find(Program.User.B_Company_id); CReport Report = (CReport)Company.ReportMgr.Find(menu.RPT_Report_id); RunReport frm = new RunReport(); frm.m_Report = Report; frm.Show(); } }
void GetData() { int page = Convert.ToInt32(Request.Params["page"]); int pageSize = Convert.ToInt32(Request.Params["pagesize"]); CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr == null) { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } string sData = ""; List <CBaseObject> lstObj; if (Request["Filter"] == null || Session["ViewFilterMgr"] == null) { lstObj = BaseObjectMgr.FilterByView(m_View); //清空过滤条件 Session["ViewFilterMgr"] = null; } else { //过滤查询 SortedList <Guid, CViewFilterMgr> sortObj = (SortedList <Guid, CViewFilterMgr>)Session["ViewFilterMgr"]; if (sortObj.ContainsKey(m_View.Id)) { CViewFilterMgr ViewFilterMgr = sortObj[m_View.Id]; lstObj = BaseObjectMgr.FilterByView(m_View, ViewFilterMgr); } else { lstObj = BaseObjectMgr.FilterByView(m_View); } } int totalPage = lstObj.Count % pageSize == 0 ? lstObj.Count / pageSize : lstObj.Count / pageSize + 1; // 计算总页数 int index = (page - 1) * pageSize; // 开始记录数 for (int i = index; i < pageSize + index && i < lstObj.Count; i++) { CBaseObject obj = (CBaseObject)lstObj[i]; string sRow = ""; foreach (CBaseObject objC in m_Table.ColumnMgr.GetList()) { CColumn col = (CColumn)objC; //判断禁止权限字段 if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { string sVal = ""; sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); continue; } } // if (col.ColType == ColumnType.object_type) { string sVal = ""; if (obj.GetColValue(col) != null) { sVal = "long byte"; } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else if (col.ColType == ColumnType.ref_type) { CTable RefTable = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(col.RefTable); if (RefTable == null) { continue; } CColumn RefCol = (CColumn)RefTable.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)RefTable.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); string sVal = ""; Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { object objVal2 = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } else { CBaseObjectMgr objRefMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(RefTable.Code, guidParentId); if (objRefMgr != null) { CBaseObject objCache = objRefMgr.FindByValue(RefCol, objVal); if (objCache != null) { object objVal2 = objCache.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } else { objRefMgr = new CBaseObjectMgr(); objRefMgr.TbCode = RefTable.Code; objRefMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objRefMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; object objVal2 = obj2.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else { string sVal = ""; object objVal = obj.GetColValue(col); if (objVal != null) { sVal = objVal.ToString(); } //转义特殊字符 Util.ConvertJsonSymbol(ref sVal); sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } } sRow = sRow.TrimEnd(",".ToCharArray()); sRow = "{" + sRow + "},"; sData += sRow; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
void GetData() { string sData = ""; CBaseObjectMgr BaseObjectMgr = m_BaseObjectMgr; List <CBaseObject> lstObj = BaseObjectMgr.GetList(); foreach (CBaseObject obj in lstObj) { string sRow = ""; foreach (CBaseObject objC in m_Table.ColumnMgr.GetList()) { CColumn col = (CColumn)objC; //判断禁止权限字段 if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { string sVal = ""; sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); continue; } } // if (col.ColType == ColumnType.object_type) { string sVal = ""; if (obj.GetColValue(col) != null) { sVal = "long byte"; } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else if (col.ColType == ColumnType.ref_type) { CTable RefTable = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(col.RefTable); if (RefTable == null) { continue; } CColumn RefCol = (CColumn)RefTable.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)RefTable.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && col.Code.Equals(BaseObjectMgr.m_Parent.TbCode + "_id", StringComparison.OrdinalIgnoreCase)) { guidParentId = BaseObjectMgr.m_Parent.Id; } CBaseObjectMgr objRefMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(RefTable.Code, guidParentId); string sVal = ""; if (objRefMgr != null) { CBaseObject objCache = objRefMgr.FindByValue(RefCol, objVal); if (objCache != null) { object objVal2 = objCache.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } else { objRefMgr = new CBaseObjectMgr(); objRefMgr.TbCode = RefTable.Code; objRefMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objRefMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; object objVal2 = obj2.GetColValue(RefShowCol); if (objVal2 != null) { sVal = objVal2.ToString(); } } } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else { string sVal = ""; object objVal = obj.GetColValue(col); if (objVal != null) { sVal = objVal.ToString(); } //转义特殊字符 Util.ConvertJsonSymbol(ref sVal); sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } } sRow = sRow.TrimEnd(",".ToCharArray()); sRow = "{" + sRow + "},"; sData += sRow; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("../Login.aspx"); Response.End(); } m_User = (CUser)Session["User"]; m_Company = (CCompany)Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.Find(m_User.B_Company_id); string TbCode = Request["TbCode"]; string id = Request["id"]; if (string.IsNullOrEmpty(TbCode) || string.IsNullOrEmpty(id)) { Response.Write("数据不完整!"); Response.End(); return; } string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { m_guidParentId = new Guid(ParentId); } m_BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(TbCode, m_guidParentId); if (m_BaseObjectMgr == null) { m_BaseObjectMgr = new CBaseObjectMgr(); m_BaseObjectMgr.TbCode = TbCode; m_BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } m_BaseObjectMgr.GetList(); m_BaseObject = m_BaseObjectMgr.Find(new Guid(id)); if (Request.Params["Action"] == "GetData") { GetData(); Response.End(); } else if (Request.Params["Action"] == "GetActivesData") { GetActivesData(); Response.End(); } else if (Request.Params["Action"] == "CancelWF") { CancelWF(); Response.End(); } else if (Request.Params["Action"] == "CanApproval") { CanApproval(); Response.End(); } }
public void LoadData() { if (Company == null) { return; } if (dataGridView == null) { return; } if (dataGridView.Columns.Count == 0) { return; } dataGridView.Rows.Clear(); CBaseObjectMgr BaseObjectMgr = Company.WorkflowDefMgr; List <CBaseObject> lstObj = BaseObjectMgr.GetList(); foreach (CBaseObject obj in lstObj) { CWorkflowDef WorkflowDef = (CWorkflowDef)obj; if (m_Table != null) { if (WorkflowDef.FW_Table_id != m_Table.Id) { continue; } } dataGridView.Rows.Add(1); int nRowIdx = dataGridView.Rows.Count - 1; DataGridViewRow row = dataGridView.Rows[nRowIdx]; row.Tag = obj; foreach (DataGridViewColumn column in dataGridView.Columns) { CColumn col = (CColumn)column.Tag; if (col.ColType == ColumnType.object_type) { if (obj.GetColValue(col) != null) { row.Cells[column.Name].Value = "long byte"; } } else if (col.ColType == ColumnType.ref_type) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); if (table == null) { continue; } CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { row.Cells[column.Name].Value = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); } else { CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr != null) { CBaseObject objCache = objMgr.FindByValue(RefCol, objVal); if (objCache != null) { row.Cells[column.Name].Value = objCache.GetColValue(RefShowCol); } } else { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; row.Cells[column.Name].Value = obj2.GetColValue(RefShowCol); } } } } else { row.Cells[column.Name].Value = obj.GetColValue(col); } } } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.End(); } m_User = (CUser)Session["User"]; string vid = Request["vid"]; if (string.IsNullOrEmpty(vid)) { Response.End(); } m_View = (CView)Global.GetCtx(Session["TopCompany"].ToString()).ViewMgr.Find(new Guid(vid)); if (m_View == null) { Response.End(); } m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_View.FW_Table_id); //检查权限 if (!CheckAccess()) { Response.End(); } string ParentId = Request["ParentId"]; if (!string.IsNullOrEmpty(ParentId)) { m_guidParentId = new Guid(ParentId); } if (Session["AddMultMasterDetailViewRecord"] == null) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr == null) { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } CBaseObject obj = BaseObjectMgr.CreateBaseObject(); obj.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); obj.TbCode = m_Table.Code; CUser user = (CUser)Session["User"]; obj.Creator = user.Id; Session["AddMultMasterDetailViewRecord"] = obj; } if (!IsPostBack) { recordCtrl.m_View = m_View; recordCtrl.m_Table = m_Table; recordCtrl.m_sortRestrictColumnAccessType = m_sortRestrictColumnAccessType; if (!string.IsNullOrEmpty(Request["UIColCount"])) { recordCtrl.m_iUIColCount = Convert.ToInt32(Request["UIColCount"]); } //外面传递的默认值 foreach (CColumn col in m_Table.ColumnMgr.GetList()) { if (!string.IsNullOrEmpty(Request[col.Code])) { recordCtrl.m_sortDefVal.Add(col.Code, Request[col.Code]); } } //隐藏字段 string sHideCols = Request["HideCols"]; if (!string.IsNullOrEmpty(sHideCols)) { string[] arr = sHideCols.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (string code in arr) { recordCtrl.m_sortHideColumn.Add(code, code); } } } if (Request.Params["Action"] == "Cancel") { Session["AddMultMasterDetailViewRecord"] = null; Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); Response.End(); } }
void LoadTab() { tabControl.TabPages.Clear(); if (View == null) { return; } List <CBaseObject> lstObj = View.ViewDetailMgr.GetList(); foreach (CBaseObject obj in lstObj) { CViewDetail vd = (CViewDetail)obj; CTable table = (CTable)Program.Ctx.TableMgr.Find(vd.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = null; if (ParentObject != null) { objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, ParentObject.Id); if (objMgr == null) { objMgr = ParentObject.GetSubObjectMgr(table.Code, typeof(CBaseObjectMgr)); } if (objMgr == null) { CColumn colP = (CColumn)ParentObject.Table.ColumnMgr.Find(vd.PrimaryKey); if (colP == null) { continue; } CColumn colF = (CColumn)table.ColumnMgr.Find(vd.ForeignKey); if (colF == null) { continue; } object objVal = ParentObject.GetColValue(colP); string sVal = objVal.ToString(); bool bIsStr = false; if (colP.ColType == ColumnType.string_type || colP.ColType == ColumnType.text_type || colP.ColType == ColumnType.ref_type || colP.ColType == ColumnType.guid_type || colP.ColType == ColumnType.datetime_type) { sVal = string.Format("'{0}'", sVal); bIsStr = true; } objMgr = new CBaseObjectMgr(); objMgr.Ctx = Program.Ctx; objMgr.TbCode = table.Code; objMgr.m_Parent = ParentObject; string sWhere = string.Format(" {0}={1}", colF.Code, bIsStr ? sVal : objVal); objMgr.Load(sWhere, false); } } TabPage page = new TabPage(table.Name); page.Tag = vd; tabControl.TabPages.Add(page); ViewDetailGrid vdg = new ViewDetailGrid(); vdg.ViewDetail = vd; vdg.BaseObjectMgr = objMgr; vdg.CaptionText = table.Name; vdg.ShowTitleBar = ShowTitleBar; vdg.ShowToolBar = ShowToolBar; vdg.m_bShowWorkflow = false; vdg.Tag = View; page.Controls.Add(vdg); vdg.Dock = DockStyle.Fill; vdg.BringToFront(); } }
void LoadData() { if (Window == null) { return; } this.Width = Window.Width; this.Height = Window.Height; panelTop.Height = Window.TopPanelHeight; panelBottom.Height = Window.BottomPanelHeight; panelLeft.Width = Window.LeftPanelWidth; panelRight.Width = Window.RightPanelWidth; panelTop.Visible = Window.TopPanelVisible; panelBottom.Visible = Window.BottomPanelVisible; panelLeft.Visible = Window.LeftPanelVisible; panelRight.Visible = Window.RightPanelVisible; List <CBaseObject> lstWindowControl = Window.WindowControlMgr.GetList(); foreach (CBaseObject obj in lstWindowControl) { CWindowControl WindowControl = (CWindowControl)obj; Panel panel = null; if (WindowControl.Dock == (int)DockStyle.Top) { panel = panelTop; } else if (WindowControl.Dock == (int)DockStyle.Bottom) { panel = panelBottom; } else if (WindowControl.Dock == (int)DockStyle.Left) { panel = panelLeft; } else if (WindowControl.Dock == (int)DockStyle.Right) { panel = panelRight; } else { panel = panelFill; } if (WindowControl.CtrlType == ControlType.NavBar) { UIToolbar toolbar = new UIToolbar(); toolbar.WindowControl = WindowControl; toolbar.Name = WindowControl.Name; panel.Controls.Add(toolbar); toolbar.Dock = DockStyle.Fill; toolbar.SendToBack(); } else if (WindowControl.CtrlType == ControlType.TableGrid) { if (WindowControl.TableInWindowControlMgr.GetList().Count == 0) { continue; } CTableInWindowControl TableInWindowControl = (CTableInWindowControl)WindowControl.TableInWindowControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInWindowControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; TableGrid te = new TableGrid(); te.TableInWindowControl = TableInWindowControl; te.BaseObjectMgr = objMgr; te.Name = WindowControl.Name; te.ShowToolBar = TableInWindowControl.ShowToolBar; te.ShowTitleBar = TableInWindowControl.ShowTitleBar; te.CaptionText = WindowControl.Name; te.Tag = WindowControl; panel.Controls.Add(te); te.Dock = (DockStyle)WindowControl.Dock; te.BringToFront(); te.dataGridView.CellClick += new DataGridViewCellEventHandler(dataGridView_CellClick); } else if (WindowControl.CtrlType == ControlType.TableTree) { TableTree tt = new TableTree(); tt.CaptionText = WindowControl.Name; tt.ShowTitleBar = WindowControl.ShowTitleBar; tt.WindowControl = WindowControl; tt.Name = WindowControl.Name; tt.Tag = WindowControl; panel.Controls.Add(tt); tt.Dock = DockStyle.Fill; tt.BringToFront(); tt.treeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseClick); } else if (WindowControl.CtrlType == ControlType.TableTab) { TableTab tab = new TableTab(); tab.WindowControl = WindowControl; tab.CaptionText = WindowControl.Name; tab.Name = WindowControl.Name; tab.ShowTitleBar = WindowControl.ShowTitleBar; tab.Tag = WindowControl; panel.Controls.Add(tab); tab.Dock = DockStyle.Fill; tab.BringToFront(); } else if (WindowControl.CtrlType == ControlType.ComboBox) { if (WindowControl.TableInWindowControlMgr.GetList().Count == 0) { continue; } CTableInWindowControl TableInWindowControl = (CTableInWindowControl)WindowControl.TableInWindowControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInWindowControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; UIComboBox cb = new UIComboBox(); cb.CaptionText = WindowControl.Name + ":"; cb.TableInWindowControl = TableInWindowControl; cb.BaseObjectMgr = objMgr; cb.Name = WindowControl.Name; cb.Tag = WindowControl; panel.Controls.Add(cb); cb.Dock = DockStyle.Top; cb.BringToFront(); cb.comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelectedIndexChanged); } else if (WindowControl.CtrlType == ControlType.ListBox) { if (WindowControl.TableInWindowControlMgr.GetList().Count == 0) { continue; } CTableInWindowControl TableInWindowControl = (CTableInWindowControl)WindowControl.TableInWindowControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInWindowControl.FW_Table_id); if (table == null) { continue; } CBaseObjectMgr objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; UIListBox listBox = new UIListBox(); listBox.CaptionText = WindowControl.Name; listBox.TableInWindowControl = TableInWindowControl; listBox.BaseObjectMgr = objMgr; listBox.Name = WindowControl.Name; listBox.Tag = WindowControl; panel.Controls.Add(listBox); listBox.Dock = DockStyle.Fill; listBox.BringToFront(); listBox.listBox.SelectedIndexChanged += new EventHandler(listBox_SelectedIndexChanged); } } }
//唯一性字段判断 bool IsUniqueValue(CColumn col, string val) { if (col.ColType == ColumnType.string_type || col.ColType == ColumnType.text_type || col.ColType == ColumnType.path_type) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr != null) { List <CBaseObject> lstObj = BaseObjectMgr.GetList(); var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].StrVal.EndsWith(val, StringComparison.OrdinalIgnoreCase) select obj; if (varObj.Count() > 0) { return(false); } } else { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" [id]<>'{0}' and [{1}]='{2}'", m_BaseObject.Id, col.Code, val); List <CBaseObject> lstObj = BaseObjectMgr.GetList(sWhere); if (lstObj.Count > 0) { return(false); } } } else if (col.ColType == ColumnType.datetime_type) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr != null) { List <CBaseObject> lstObj = BaseObjectMgr.GetList(); var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].DatetimeVal == DateTime.Parse(val) select obj; if (varObj.Count() > 0) { return(false); } } else { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" [id]<>'{0}' and [{1}]='{2}'", m_BaseObject.Id, col.Code, val); List <CBaseObject> lstObj = BaseObjectMgr.GetList(sWhere); if (lstObj.Count > 0) { return(false); } } } else if (col.ColType == ColumnType.int_type || col.ColType == ColumnType.long_type || col.ColType == ColumnType.numeric_type) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr != null) { List <CBaseObject> lstObj = BaseObjectMgr.GetList(); if (col.ColType == ColumnType.int_type) { var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].IntVal == Convert.ToInt32(val) select obj; if (varObj.Count() > 0) { return(false); } } else if (col.ColType == ColumnType.long_type) { var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].LongVal == Convert.ToInt64(val) select obj; if (varObj.Count() > 0) { return(false); } } else { var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].DoubleVal == Convert.ToDouble(val) select obj; if (varObj.Count() > 0) { return(false); } } } else { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" [id]<>'{0}' and [{1}]={2}", m_BaseObject.Id, col.Code, val); List <CBaseObject> lstObj = BaseObjectMgr.GetList(sWhere); if (lstObj.Count > 0) { return(false); } } } else if (col.ColType == ColumnType.guid_type || col.ColType == ColumnType.ref_type) { CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr != null) { List <CBaseObject> lstObj = BaseObjectMgr.GetList(); var varObj = from obj in lstObj where obj.Id != m_BaseObject.Id && obj.m_arrNewVal[col.Code.ToLower()].GuidVal == new Guid(val) select obj; if (varObj.Count() > 0) { return(false); } } else { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); string sWhere = string.Format(" [id]<>'{0}' and [{1}]='{2}'", m_BaseObject.Id, col.Code, val); List <CBaseObject> lstObj = BaseObjectMgr.GetList(sWhere); if (lstObj.Count > 0) { return(false); } } } return(true); }
void GetData() { int page = Convert.ToInt32(Request.Params["page"]); int pageSize = Convert.ToInt32(Request.Params["pagesize"]); string sData = ""; List <CBaseObject> lstObj = m_Company.OrgMgr.GetList(); int totalPage = lstObj.Count % pageSize == 0 ? lstObj.Count / pageSize : lstObj.Count / pageSize + 1; // 计算总页数 int index = (page - 1) * pageSize; // 开始记录数 for (int i = index; i < pageSize + index && i < lstObj.Count; i++) { CBaseObject obj = (CBaseObject)lstObj[i]; string sRow = ""; foreach (CBaseObject objC in m_Table.ColumnMgr.GetList()) { CColumn col = (CColumn)objC; if (col.ColType == ColumnType.object_type) { string sVal = ""; if (obj.GetColValue(col) != null) { sVal = "long byte"; } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else if (col.ColType == ColumnType.ref_type) { CTable RefTable = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(col.RefTable); if (RefTable == null) { continue; } CBaseObjectMgr objRefMgr = new CBaseObjectMgr(); objRefMgr.TbCode = RefTable.Code; objRefMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); CColumn RefCol = (CColumn)RefTable.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)RefTable.ColumnMgr.Find(col.RefShowCol); string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objRefMgr.GetList(sWhere, cmdParas); string sVal = ""; if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; object objVal = obj2.GetColValue(RefShowCol); if (objVal != null) { sVal = objVal.ToString(); } } sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } else { string sVal = ""; object objVal = obj.GetColValue(col); if (objVal != null) { sVal = objVal.ToString(); } Util.ConvertJsonSymbol(ref sVal); sRow += string.Format("\"{0}\":\"{1}\",", col.Code, sVal); } } sRow = sRow.TrimEnd(",".ToCharArray()); sRow = "{" + sRow + "},"; sData += sRow; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
void LoopTreeNode(int iLevel, List <CBaseObject> lstTIWC, TreeNode pnode) { if (iLevel >= lstTIWC.Count) { return; } CTableInWindowControl tiwc = (CTableInWindowControl)lstTIWC[iLevel]; CTable table = (CTable)Program.Ctx.TableMgr.Find(tiwc.FW_Table_id); if (table == null) { return; } if (!tiwc.IsLoop) { CBaseObjectMgr BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.Ctx = Program.Ctx; BaseObjectMgr.TbCode = table.Code; List <CBaseObject> lstObj = BaseObjectMgr.GetList(tiwc.QueryFilter); foreach (CBaseObject obj in lstObj) { string sText = tiwc.Text.ToLower(); int iStart = 0; while (sText.IndexOf('[', iStart) > -1) { int idx1 = sText.IndexOf('[', iStart); int idx2 = sText.IndexOf(']', idx1); iStart = idx1 + 1; if (idx2 > idx1) { string sCodeN = sText.Substring(idx1, idx2 - idx1 + 1); string sCode = sCodeN.Substring(1, sCodeN.Length - 2); CColumn column = table.ColumnMgr.FindByCode(sCode); if (column == null) { continue; } string sVal = obj.GetColValue(column).ToString(); sText = sText.Replace(sCodeN, sVal); } } TreeNode node = new TreeNode(); node.Text = sText; if (pnode == null) { treeView.Nodes.Add(node); } else { pnode.Nodes.Add(node); } LoopTreeNode(iLevel + 1, lstTIWC, node); } } else { string sFilter = tiwc.QueryFilter; if (sFilter.Trim() != "") { sFilter += " and "; } sFilter += tiwc.RootFilter; List <TreeNode> lstTreeNode = SelfLoop(tiwc, sFilter, pnode); foreach (TreeNode node in lstTreeNode) { LoopTreeNode(iLevel + 1, lstTIWC, node); } } }
protected void Page_Load(object sender, EventArgs e) { string vid = Request["vid"]; if (string.IsNullOrEmpty(vid)) { Response.End(); } string vdid = Request["vdid"]; if (string.IsNullOrEmpty(vdid)) { Response.End(); } m_View = (CView)Global.GetCtx(Session["TopCompany"].ToString()).ViewMgr.Find(new Guid(vid)); if (m_View == null) { Response.End(); } m_ViewDetail = (CViewDetail)m_View.ViewDetailMgr.Find(new Guid(vdid)); if (m_ViewDetail == null) { Response.End(); } m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_ViewDetail.FW_Table_id); m_sortRestrictColumnAccessType = m_User.GetRestrictColumnAccessTypeList(m_Table); if (Session["EditMultMasterDetailViewRecord"] == null) { Response.End(); } SortedList <Guid, CBaseObject> arrP = (SortedList <Guid, CBaseObject>)Session["EditMultMasterDetailViewRecord"]; CBaseObject objP = (CBaseObject)arrP.Values[0]; m_BaseObjectMgr = objP.GetSubObjectMgr(m_Table.Code, typeof(CBaseObjectMgr)); if (!IsPostBack) { recordCtrl.m_ViewDetail = m_ViewDetail; recordCtrl.m_Table = m_Table; recordCtrl.m_sortRestrictColumnAccessType = m_sortRestrictColumnAccessType; if (!string.IsNullOrEmpty(Request["UIColCount"])) { recordCtrl.m_iUIColCount = Convert.ToInt32(Request["UIColCount"]); } //外面传递的默认值 foreach (CColumn col in m_Table.ColumnMgr.GetList()) { if (!string.IsNullOrEmpty(Request[col.Code])) { recordCtrl.m_sortDefVal.Add(col.Code, Request[col.Code]); } } //隐藏字段 string sHideCols = Request["HideCols"]; if (!string.IsNullOrEmpty(sHideCols)) { string[] arr = sHideCols.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (string code in arr) { recordCtrl.m_sortHideColumn.Add(code, code); } } } if (Request.Params["Action"] == "Cancel") { Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); Response.End(); } }
Control ColumnMapControl(CColumn col) { //自扩展类优先 if (!string.IsNullOrEmpty(col.UIControl)) { try { object obj = Activator.CreateInstance(Type.GetType(col.UIControl)); IColumnCtrl ctrl = (IColumnCtrl)obj; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return((Control)ctrl); } catch { } } switch (col.ColType) { case ColumnType.string_type: { ExTextBox ctrl = new ExTextBox(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.text_type: { ExTextBox ctrl = new ExTextBox(); ctrl.textBox.Multiline = true; ctrl.textBox.ScrollBars = ScrollBars.Both; ctrl.Width = 300; ctrl.Height = 100; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.int_type: { ExTextBox ctrl = new ExTextBox(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.ref_type: { ExComboBox ctrl = new ExComboBox(); ctrl.Width = 300; CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); CBaseObjectMgr BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = table.Code; BaseObjectMgr.Ctx = Program.Ctx; CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); List <CBaseObject> lstObj = BaseObjectMgr.GetList(); foreach (CBaseObject obj in lstObj) { DataItem item = new DataItem(); item.name = obj.GetColValue(RefShowCol).ToString(); item.Data = obj.GetColValue(RefCol); ctrl.comboBox.Items.Add(item); } ctrl.comboBox.DropDownStyle = ComboBoxStyle.DropDownList; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.enum_type: { ExComboBox ctrl = new ExComboBox(); ctrl.Width = 300; //引用显示字段优先 if (col.RefShowCol != Guid.Empty) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); CBaseObjectMgr BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = table.Code; BaseObjectMgr.Ctx = Program.Ctx; CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); List <CBaseObject> lstObj = BaseObjectMgr.GetList(); foreach (CBaseObject obj in lstObj) { DataItem item = new DataItem(); item.name = obj.GetColValue(RefShowCol).ToString(); ctrl.comboBox.Items.Add(item); } } else { List <CBaseObject> lstObj = col.ColumnEnumValMgr.GetList(); foreach (CBaseObject obj in lstObj) { CColumnEnumVal cev = (CColumnEnumVal)obj; DataItem item = new DataItem(); item.name = cev.Val; item.Data = cev.Val; ctrl.comboBox.Items.Add(item); } } ctrl.comboBox.DropDownStyle = ComboBoxStyle.DropDown; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.long_type: { ExTextBox ctrl = new ExTextBox(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); } case ColumnType.bool_type: { ExCheckBox ctrl = new ExCheckBox(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.numeric_type: { ExTextBox ctrl = new ExTextBox(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.datetime_type: { ExDateTimePicker ctrl = new ExDateTimePicker(); ctrl.Width = 300; ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } case ColumnType.object_type: { BinaryCtrl ctrl = new BinaryCtrl(); ctrl.SetCaption(col.Name + ":"); if (BaseObject != null) { ctrl.SetValue(BaseObject.GetColValue(col)); } return(ctrl); break; } } return(new ExTextBox()); }
private void tbtNew_Click(object sender, EventArgs e) { RecordWindow frm = new RecordWindow(BaseObjectMgr, null); if (frm.ShowDialog() != DialogResult.OK) { return; } CBaseObject obj = frm.BaseObject; dataGridView.Rows.Add(1); DataGridViewRow row = dataGridView.Rows[dataGridView.Rows.Count - 1]; row.Tag = obj; foreach (DataGridViewColumn column in dataGridView.Columns) { CColumn col = (CColumn)column.Tag; if (col.ColType == ColumnType.object_type) { if (obj.GetColValue(col) != null) { row.Cells[column.Name].Value = "long byte"; } } else if (col.ColType == ColumnType.ref_type) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); if (table == null) { continue; } CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { row.Cells[column.Name].Value = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); } else { CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr != null) { CBaseObject objCache = objMgr.FindByValue(RefCol, objVal); if (objCache != null) { row.Cells[column.Name].Value = objCache.GetColValue(RefShowCol); } } else { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; row.Cells[column.Name].Value = obj2.GetColValue(RefShowCol); } } } } else { row.Cells[column.Name].Value = obj.GetColValue(col); } } }
void PostData() { if (!ValidateData()) { return; } CBaseObjectMgr BaseObjectMgr = Global.GetCtx(Session["TopCompany"].ToString()).FindBaseObjectMgrCache(m_Table.Code, m_guidParentId); if (BaseObjectMgr == null) { BaseObjectMgr = new CBaseObjectMgr(); BaseObjectMgr.TbCode = m_Table.Code; BaseObjectMgr.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); } CBaseObject BaseObject = BaseObjectMgr.CreateBaseObject(); BaseObject.Ctx = BaseObjectMgr.Ctx; BaseObject.TbCode = BaseObjectMgr.TbCode; bool bHasVisible = false; //foreach (CBaseObject objCIV in m_View.ColumnInViewMgr.GetList()) foreach (CBaseObject objCol in m_Table.ColumnMgr.GetList()) { //CColumnInView civ = (CColumnInView)objCIV; //CColumn col = (CColumn)m_Table.ColumnMgr.Find(civ.FW_Column_id); CColumn col = (CColumn)objCol; if (col == null) { continue; } //判断禁止和只读权限字段 if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { continue; } //只读只在界面控制,有些默认值需要只读也需要保存数据 //else if (accessType == AccessType.read) // continue; } // if (col.Code.Equals("id", StringComparison.OrdinalIgnoreCase)) { continue; } else if (col.Code.Equals("Created", StringComparison.OrdinalIgnoreCase)) { BaseObject.SetColValue(col, DateTime.Now); continue; } else if (col.Code.Equals("Creator", StringComparison.OrdinalIgnoreCase)) { CUser user = (CUser)Session["User"]; BaseObject.SetColValue(col, user.Id); continue; } else if (col.Code.Equals("Updated", StringComparison.OrdinalIgnoreCase)) { continue; } else if (col.Code.Equals("Updator", StringComparison.OrdinalIgnoreCase)) { //BaseObject.SetColValue(col, Program.User.Id); continue; } if (col.ColType == ColumnType.object_type) { HttpPostedFile postfile = Request.Files.Get("_" + col.Code); if (postfile != null && postfile.ContentLength > 0) { string sFileName = postfile.FileName; if (sFileName.LastIndexOf('\\') > -1)//有些浏览器不带路径 { sFileName = sFileName.Substring(sFileName.LastIndexOf('\\')); } byte[] byteFileName = System.Text.Encoding.Default.GetBytes(sFileName); byte[] byteValue = new byte[254 + postfile.ContentLength]; byte[] byteData = new byte[postfile.ContentLength]; postfile.InputStream.Read(byteData, 0, postfile.ContentLength); Array.Copy(byteFileName, byteValue, byteFileName.Length); Array.Copy(byteData, 0, byteValue, 254, byteData.Length); BaseObject.SetColValue(col, byteValue); } } else if (col.ColType == ColumnType.path_type) { string sUploadPath = col.UploadPath; if (sUploadPath[sUploadPath.Length - 1] != '\\') { sUploadPath += "\\"; } if (!Directory.Exists(sUploadPath)) { Directory.CreateDirectory(sUploadPath); } HttpPostedFile postfile = Request.Files.Get("_" + col.Code); if (postfile != null && postfile.ContentLength > 0) { string sFileName = postfile.FileName; if (sFileName.LastIndexOf('\\') > -1)//有些浏览器不带路径 { sFileName = sFileName.Substring(sFileName.LastIndexOf('\\')); } FileInfo fi = new FileInfo(sUploadPath + sFileName); Guid guid = Guid.NewGuid(); string sDestFile = string.Format("{0}{1}", guid.ToString().Replace("-", ""), fi.Extension); postfile.SaveAs(sUploadPath + sDestFile); string sVal = string.Format("{0}|{1}", sDestFile, sFileName); BaseObject.SetColValue(col, sVal); } } else if (col.ColType == ColumnType.bool_type) { string val = Request.Params["_" + col.Code]; if (!string.IsNullOrEmpty(val) && val.ToLower() == "on") { BaseObject.SetColValue(col, true); } else { BaseObject.SetColValue(col, false); } } else if (col.ColType == ColumnType.datetime_type) { string val = Request.Params["_" + col.Code]; if (!string.IsNullOrEmpty(val)) { BaseObject.SetColValue(col, Convert.ToDateTime(val)); } } else { BaseObject.SetColValue(col, Request.Params["_" + col.Code]); } bHasVisible = true; } if (!bHasVisible) { //Response.Write("没有可修改字段!"); Response.Write("<script>alert('没有可修改字段!');</script>"); return; } BaseObjectMgr.AddNew(BaseObject); if (!BaseObjectMgr.Save(true)) { //Response.Write("添加失败!"); Response.Write("<script>alert('添加失败!');</script>"); return; } //在iframe里访问外面,需要parent.parent. //Response.Write("<script>parent.parent.grid.loadData(true);parent.parent.$.ligerDialog.close();</script>"); Response.Write("<script>parent.parent.onOkAddSingleViewRecord();</script>"); }
private void tbtEdit_Click(object sender, EventArgs e) { if (dataGridView.CurrentRow == null) { MessageBox.Show("请选择一项!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } CBaseObject obj = (CBaseObject)dataGridView.CurrentRow.Tag; if (View.VType == enumViewType.Single) { SingleViewRecord frm = new SingleViewRecord(BaseObjectMgr, obj); frm.View = View; if (frm.ShowDialog() != DialogResult.OK) { return; } obj = frm.BaseObject; } else if (View.VType == enumViewType.MasterDetail) { MasterDetailViewRecord frm = new MasterDetailViewRecord(BaseObjectMgr, obj); frm.View = View; if (frm.ShowDialog() != DialogResult.OK) { return; } obj = frm.BaseObject; } else { MultMasterDetailViewRecord frm = new MultMasterDetailViewRecord(BaseObjectMgr, obj); frm.View = View; if (frm.ShowDialog() != DialogResult.OK) { return; } obj = frm.BaseObject; } DataGridViewRow row = dataGridView.CurrentRow; foreach (DataGridViewColumn column in dataGridView.Columns) { //工作流 if (column.Name.Equals("workflow")) { continue; } // CColumn col = (CColumn)column.Tag; if (col.ColType == ColumnType.object_type) { if (obj.GetColValue(col) != null) { row.Cells[column.Name].Value = "long byte"; } } else if (col.ColType == ColumnType.ref_type) { CTable table = (CTable)Program.Ctx.TableMgr.Find(col.RefTable); if (table == null) { continue; } CColumn RefCol = (CColumn)table.ColumnMgr.Find(col.RefCol); CColumn RefShowCol = (CColumn)table.ColumnMgr.Find(col.RefShowCol); object objVal = obj.GetColValue(col); Guid guidParentId = Guid.Empty; if (BaseObjectMgr.m_Parent != null && BaseObjectMgr.m_Parent.Id == (Guid)objVal) { row.Cells[column.Name].Value = BaseObjectMgr.m_Parent.GetColValue(RefShowCol); } else { CBaseObjectMgr objMgr = Program.Ctx.FindBaseObjectMgrCache(table.Code, Guid.Empty); if (objMgr != null) { CBaseObject objCache = objMgr.FindByValue(RefCol, objVal); if (objCache != null) { row.Cells[column.Name].Value = objCache.GetColValue(RefShowCol); } } else { objMgr = new CBaseObjectMgr(); objMgr.TbCode = table.Code; objMgr.Ctx = Program.Ctx; string sWhere = string.Format(" {0}=?", RefCol.Code); List <DbParameter> cmdParas = new List <DbParameter>(); cmdParas.Add(new DbParameter(RefCol.Code, obj.GetColValue(col))); List <CBaseObject> lstObj2 = objMgr.GetList(sWhere, cmdParas); if (lstObj2.Count > 0) { CBaseObject obj2 = lstObj2[0]; row.Cells[column.Name].Value = obj2.GetColValue(RefShowCol); } } } } else { row.Cells[column.Name].Value = obj.GetColValue(col); } } }