private void btDown_Click(object sender, EventArgs e) { if (dataGridView.CurrentRow == null) { MessageBox.Show("请选择一行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (dataGridView.CurrentRow.Index == dataGridView.Rows.Count - 1) { return; } int idx = dataGridView.CurrentRow.Index; DataGridViewRow row = dataGridView.CurrentRow; DataGridViewRow row2 = dataGridView.Rows[idx + 1]; dataGridView.Rows.Remove(row2); dataGridView.Rows.Insert(idx, row2); CColumnInView civ = (CColumnInView)row.Tag; civ.Idx++; CColumnInView civ2 = (CColumnInView)row2.Tag; civ2.Idx--; }
private void listMasterColumn_ItemChecked(object sender, ItemCheckedEventArgs e) { CColumn column = (CColumn)e.Item.Tag; if (e.Item.Checked) { CColumnInView civ = new CColumnInView(); civ.Ctx = Program.Ctx; civ.FW_Column_id = column.Id; civ.FW_Table_id = column.FW_Table_id; civ.Caption = column.Name; civ.UI_View_id = m_View.Id; m_View.ColumnInViewMgr.AddNew(civ); dataGridView.Rows.Add(1); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = column.Name; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = civ.Caption; rowNew.Tag = civ; } else { for (int i = 0; i < dataGridView.Rows.Count; i++) { CColumnInView civ = (CColumnInView)dataGridView.Rows[i].Tag; if (civ.FW_Column_id == column.Id) { m_View.ColumnInViewMgr.Delete(civ); dataGridView.Rows.RemoveAt(i); break; } } } }
private void btAddVirCol_Click(object sender, EventArgs e) { if (txtVirCol.Text.Trim() == "") { MessageBox.Show("请输入虚列标题!"); return; } foreach (DataGridViewRow r in dataGridView.Rows) { if (r.Cells[1].Value.ToString().Equals(txtVirCol.Text.Trim(), StringComparison.OrdinalIgnoreCase)) { MessageBox.Show("标题已经存在!"); return; } } CColumnInView civ = new CColumnInView(); civ.Ctx = m_View.Ctx; civ.UI_View_id = m_View.Id; civ.IsVirtual = true; civ.Caption = txtVirCol.Text.Trim(); m_View.ColumnInViewMgr.AddNew(civ); dataGridView.Rows.Add(); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = civ.Caption; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = civ.Caption; rowNew.Tag = civ; txtVirCol.Text = ""; }
bool SavePage2() { for (int i = 0; i < listMasterColumn.Items.Count; i++) { if (listMasterColumn.Items[i].Selected) { CColumnInView civ = m_View.ColumnInViewMgr.FindByColumn(new Guid(listMasterColumn.Items[i].Value)); if (civ == null) { civ = new CColumnInView(); civ.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); civ.UI_View_id = m_View.Id; civ.FW_Table_id = m_Table.Id; civ.FW_Column_id = new Guid(listMasterColumn.Items[i].Value); civ.Caption = listMasterColumn.Items[i].Text; civ.Idx = i; m_View.ColumnInViewMgr.AddNew(civ); } } else { CColumnInView civ = m_View.ColumnInViewMgr.FindByColumn(new Guid(listMasterColumn.Items[i].Value)); if (civ != null) { m_View.ColumnInViewMgr.Delete(civ); } } } return(true); }
void LoadHeader() { if (BaseObjectMgr == null) { return; } if (dataGridView == null) { return; } dataGridView.Columns.Clear(); bool bHas = false; if (View != null) { List <CBaseObject> lstCIV = View.ColumnInViewMgr.GetList(); if (lstCIV.Count > 0) { bHas = true; foreach (CBaseObject obj in lstCIV) { CColumnInView civ = (CColumnInView)obj; CColumn col = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civ.FW_Column_id); if (col == null) { continue; } DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn(); column.Name = col.Code; column.HeaderText = col.Name; column.Tag = col; dataGridView.Columns.Add(column); } } } if (!bHas) { List <CBaseObject> lstCol = baseObjectMgr.Table.ColumnMgr.GetList(); foreach (CColumn col in lstCol) { //if (!col.IsVisible) // continue; DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn(); column.Name = col.Code; column.HeaderText = col.Name; column.Tag = col; dataGridView.Columns.Add(column); } } //工作流 if (m_bShowWorkflow) { DataGridViewTextBoxColumn columnWF = new DataGridViewTextBoxColumn(); columnWF.Name = "workflow"; columnWF.HeaderText = "工作流"; dataGridView.Columns.Add(columnWF); } }
bool SavePage3() { for (int i = 0; i < dataGridView.Rows.Count; i++) { CColumnInView civ = (CColumnInView)dataGridView.Rows[i].Tag; civ.Idx = i; civ.Caption = dataGridView.Rows[i].Cells[1].Value.ToString(); m_View.ColumnInViewMgr.Update(civ); } return(true); }
void PostData() { string GridData = Request["GridData"]; if (string.IsNullOrEmpty(GridData)) { Response.Write("主表字段不能空!"); return; } string GridData2 = Request["GridData2"]; if (string.IsNullOrEmpty(GridData2)) { Response.Write("从表字段不能空!"); return; } string[] arr1 = GridData.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arr1.Length; i++) { string[] arr2 = arr1[i].Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); CColumnInView civ = (CColumnInView)m_View.ColumnInViewMgr.Find(new Guid(arr2[0])); civ.Caption = arr2[1]; civ.Idx = i; m_View.ColumnInViewMgr.Update(civ); } string table_id = Request["table_id"]; if (string.IsNullOrEmpty(table_id)) { Response.Write("从表不能空!"); return; } CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.FindByTable(new Guid(table_id)); arr1 = GridData2.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arr1.Length; i++) { string[] arr2 = arr1[i].Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); CColumnInViewDetail civd = (CColumnInViewDetail)ViewDetail.ColumnInViewDetailMgr.Find(new Guid(arr2[0])); civd.Caption = arr2[1]; civd.Idx = i; ViewDetail.ColumnInViewDetailMgr.Update(civd); } }
void LoadData() { if (m_View == null) //新建 { m_bIsNew = true; m_View = new CView(); m_View.Ctx = Program.Ctx; } txtName.Text = m_View.Name; m_MainTb_id = m_View.FW_Table_id; //默认表 for (int i = 0; i < cbTable.Items.Count; i++) { DataItem item = (DataItem)cbTable.Items[i]; CTable tb = (CTable)item.Data; if (tb.Id == m_MainTb_id) { cbTable.SelectedIndex = i; break; } } dataGridView.Rows.Clear(); List <CBaseObject> lstCiv = m_View.ColumnInViewMgr.GetList(); foreach (CBaseObject obj in lstCiv) { CColumnInView civ = (CColumnInView)obj; CTable table = (CTable)Program.Ctx.TableMgr.Find(civ.FW_Table_id); if (table == null) { continue; } CColumn column = (CColumn)table.ColumnMgr.Find(civ.FW_Column_id); if (column == null) { continue; } dataGridView.Rows.Add(1); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = column.Name; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = civ.Caption; rowNew.Tag = civ; } }
private void btAddAll_Click(object sender, EventArgs e) { if (listColumn.Items.Count == 0) { MessageBox.Show("请选择表!"); return; } for (int i = 0; i < listColumn.Items.Count; i++) { CColumn column = (CColumn)listColumn.Items[i].Tag; bool bHas = false; foreach (DataGridViewRow row in dataGridView.Rows) { CColumnInView civ2 = (CColumnInView)row.Tag; if (civ2.FW_Column_id == column.Id) { bHas = true; break; } } if (bHas) { continue; } CColumnInView civ = new CColumnInView(); civ.Ctx = Program.Ctx; civ.UI_View_id = m_View.Id; civ.FW_Table_id = column.FW_Table_id; civ.FW_Column_id = column.Id; civ.Caption = column.Name; m_View.ColumnInViewMgr.AddNew(civ); if (m_MainTb_id == Guid.Empty) { m_MainTb_id = civ.FW_Table_id; } dataGridView.Rows.Add(1); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = column.Name; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = column.Name; rowNew.Tag = civ; } }
public List <CColumn> GetColList() { List <CColumn> lstRet = new List <CColumn>(); List <CBaseObject> lstObjCIV = m_View.ColumnInViewMgr.GetList(); for (int i = 0; i < lstObjCIV.Count; i++) { CColumnInView civ = (CColumnInView)lstObjCIV[i]; CColumn col = (CColumn)m_Table.ColumnMgr.Find(civ.FW_Column_id); if (col == null) { continue; } lstRet.Add(col); } return(lstRet); }
private void btDel_Click(object sender, EventArgs e) { if (dataGridView.CurrentRow == null) { return; } CColumnInView civ = (CColumnInView)dataGridView.CurrentRow.Tag; m_View.ColumnInViewMgr.Delete(civ); dataGridView.Rows.Remove(dataGridView.CurrentRow); if (dataGridView.Rows.Count == 0) { m_MainTb_id = Guid.Empty; } }
bool SavePage3() { for (int i = 0; i < dataGridView.Rows.Count; i++) { CColumnInView civ = (CColumnInView)dataGridView.Rows[i].Tag; civ.Idx = i; civ.Caption = dataGridView.Rows[i].Cells[1].Value.ToString(); m_View.ColumnInViewMgr.Update(civ); } for (int i = 0; i < dataGridView2.Rows.Count; i++) { CColumnInViewDetail civd = (CColumnInViewDetail)dataGridView2.Rows[i].Tag; civd.Idx = i; civd.Caption = dataGridView2.Rows[i].Cells[1].Value.ToString(); civd.m_ObjectMgr.AddNew(civd); } return(true); }
void LoadGridView() { if (cbMasterTable.SelectedIndex == -1) { return; } DataItem item = (DataItem)cbMasterTable.SelectedItem; CTable tb = (CTable)item.Data; txtMasterTable2.Text = tb.Name; List <CBaseObject> lstObj = m_View.ColumnInViewMgr.GetList(); dataGridView.Rows.Clear(); foreach (CBaseObject obj in lstObj) { CColumnInView civ = (CColumnInView)obj; if (!civ.IsVirtual) { CColumn column = (CColumn)tb.ColumnMgr.Find(civ.FW_Column_id); if (column == null) { continue; } dataGridView.Rows.Add(1); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = column.Name; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = civ.Caption; rowNew.Tag = civ; } else { dataGridView.Rows.Add(1); DataGridViewRow rowNew = dataGridView.Rows[dataGridView.Rows.Count - 1]; rowNew.Cells[0].Value = civ.Caption; rowNew.Cells[0].ReadOnly = true; rowNew.Cells[1].Value = civ.Caption; rowNew.Tag = civ; } } }
void PostData() { string GridData = Request["GridData"]; if (string.IsNullOrEmpty(GridData)) { Response.Write("字段不能空!"); return; } string[] arr1 = GridData.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arr1.Length; i++) { string[] arr2 = arr1[i].Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); CColumnInView civ = (CColumnInView)m_View.ColumnInViewMgr.Find(new Guid(arr2[0])); civ.Caption = arr2[1]; civ.Idx = i; m_View.ColumnInViewMgr.Update(civ); } }
void GetData() { List <CBaseObject> lstObj = m_View.ColumnInViewMgr.GetList(); List <CColumnInView> sortObj = new List <CColumnInView>(); foreach (CBaseObject obj in lstObj) { CColumnInView civ = (CColumnInView)obj; sortObj.Add(civ); } sortObj.Sort(); string sData = ""; int iCount = 0; foreach (CColumnInView civ in sortObj) { CColumn col = (CColumn)m_MTable.ColumnMgr.Find(civ.FW_Column_id); if (col == null) { continue; } sData += string.Format("{{ \"id\": \"{0}\",\"ColName\":\"{1}\",\"Caption\":\"{2}\"}}," , civ.Id, col.Name, civ.Caption); iCount++; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, iCount); Response.Write(sJson); }
bool SavePage2() { //主表 CTable tableM = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(m_View.FW_Table_id); for (int i = 0; i < listMasterColumn.Items.Count; i++) { if (listMasterColumn.Items[i].Selected) { CColumnInView civ = m_View.ColumnInViewMgr.FindByColumn(new Guid(listMasterColumn.Items[i].Value)); if (civ == null) { civ = new CColumnInView(); civ.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); civ.UI_View_id = m_View.Id; civ.FW_Table_id = tableM.Id; civ.FW_Column_id = new Guid(listMasterColumn.Items[i].Value); civ.Caption = listMasterColumn.Items[i].Text; civ.Idx = i; m_View.ColumnInViewMgr.AddNew(civ); } } else { CColumnInView civ = m_View.ColumnInViewMgr.FindByColumn(new Guid(listMasterColumn.Items[i].Value)); if (civ != null) { m_View.ColumnInViewMgr.Delete(civ); } } } //从表 CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj(); for (int i = 0; i < listDetailColumn.Items.Count; i++) { if (listDetailColumn.Items[i].Selected) { CColumnInViewDetail civd = ViewDetail.ColumnInViewDetailMgr.FindByColumn(new Guid(listDetailColumn.Items[i].Value)); if (civd == null) { civd = new CColumnInViewDetail(); civd.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); civd.UI_ViewDetail_id = ViewDetail.Id; civd.FW_Table_id = ViewDetail.FW_Table_id; civd.FW_Column_id = new Guid(listDetailColumn.Items[i].Value); civd.Caption = listDetailColumn.Items[i].Text; civd.Idx = i; ViewDetail.ColumnInViewDetailMgr.AddNew(civd); } } else { CColumnInViewDetail civd = ViewDetail.ColumnInViewDetailMgr.FindByColumn(new Guid(listDetailColumn.Items[i].Value)); if (civd != null) { ViewDetail.ColumnInViewDetailMgr.Delete(civd); } } } return(true); }
private void btOk_Click(object sender, EventArgs e) { string sName = txtName.Text.Trim(); if (sName == "") { MessageBox.Show("名称不能空!"); txtName.Focus(); return; } if (!sName.Equals(m_View.Name)) { CView view2 = Program.Ctx.ViewMgr.FindByName(sName); if (view2 != null) { MessageBox.Show("名称重复!"); txtName.Focus(); return; } } if (listColumn.Items.Count == 0) { MessageBox.Show("请选择字段!"); return; } m_View.Name = sName; if (cbCatalog.SelectedIndex < 1) { m_View.UI_ViewCatalog_id = Guid.Empty; } else { DataItem item = (DataItem)cbCatalog.SelectedItem; CViewCatalog catalog = (CViewCatalog)item.Data; m_View.UI_ViewCatalog_id = catalog.Id; } m_View.FW_Table_id = m_MainTb_id; foreach (DataGridViewRow row in dataGridView.Rows) { CColumnInView civ = (CColumnInView)row.Tag; civ.Caption = row.Cells[1].Value.ToString(); } if (m_bIsNew) { Program.Ctx.ViewMgr.AddNew(m_View); } else { Program.Ctx.ViewMgr.Update(m_View); } if (!Program.Ctx.ViewMgr.Save(true)) { MessageBox.Show("保存失败!"); return; } this.DialogResult = DialogResult.OK; this.Close(); }
public bool Save() { if (!Validate()) { return(false); } if (baseObject == null) //新建 { baseObject = BaseObjectMgr.CreateBaseObject(); baseObject.Ctx = BaseObjectMgr.Ctx; baseObject.TbCode = BaseObjectMgr.TbCode; bool bHasVisible = false; foreach (CBaseObject obj in View.ColumnInViewMgr.GetList()) { CColumnInView civ = (CColumnInView)obj; CColumn col = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civ.FW_Column_id); 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)) { continue; } else if (col.Code.Equals("Creator", StringComparison.OrdinalIgnoreCase)) { baseObject.SetColValue(col, Program.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; } Control[] ctrls = this.Controls.Find(col.Code, false); if (ctrls.Length > 0) { IColumnCtrl ctrl = (IColumnCtrl)ctrls[0]; baseObject.SetColValue(col, ctrl.GetValue()); bHasVisible = true; } } if (!bHasVisible) { MessageBox.Show("没有可修改字段!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } if (!BaseObjectMgr.AddNew(baseObject, true)) { MessageBox.Show("添加失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } else //修改 { List <CBaseObject> lstCol = BaseObjectMgr.Table.ColumnMgr.GetList(); bool bHasVisible = false; foreach (CBaseObject obj in lstCol) { CColumn col = (CColumn)obj; //判断禁止和只读权限字段 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)) { continue; } else if (col.Code.Equals("Creator", StringComparison.OrdinalIgnoreCase)) { continue; } else if (col.Code.Equals("Updated", StringComparison.OrdinalIgnoreCase)) { baseObject.SetColValue(col, DateTime.Now); continue; } else if (col.Code.Equals("Updator", StringComparison.OrdinalIgnoreCase)) { baseObject.SetColValue(col, Program.User.Id); continue; } Control[] ctrls = this.Controls.Find(col.Code, false); if (ctrls.Length > 0) { IColumnCtrl ctrl = (IColumnCtrl)ctrls[0]; baseObject.SetColValue(col, ctrl.GetValue()); bHasVisible = true; } } if (!bHasVisible) { MessageBox.Show("没有可修改字段!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } if (!BaseObjectMgr.Update(baseObject, true)) { MessageBox.Show("修改失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } return(true); }
void LoadUI() { if (View == null) { return; } if (BaseObjectMgr == null) { return; } m_sortRestrictColumnAccessType = Program.User.GetRestrictColumnAccessTypeList(BaseObjectMgr.Table); this.Controls.Clear(); List <CBaseObject> lstCIV = View.ColumnInViewMgr.GetList(); int nTop = 5; foreach (CBaseObject obj in lstCIV) { CColumnInView civ = (CColumnInView)obj; CColumn col = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civ.FW_Column_id); if (col == null) { continue; } //判断禁止权限字段 bool bReadOnly = false; if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { continue; } else if (accessType == AccessType.read) { bReadOnly = true; } } // Control ctrl = ColumnMapControl(col); if (ctrl != null) { ctrl.Name = col.Code; ctrl.Left = 10; ctrl.Top = nTop; //ctrl.Width = lbCaption.Width; //ctrl.Height = lbCaption.Height; this.Controls.Add(ctrl); //只读权限 if (bReadOnly) { ctrl.Enabled = false; } } nTop = ctrl.Bottom + 5; } //具有默认值的字段 List <CBaseObject> lstObj = View.ColumnDefaultValInViewMgr.GetList(); foreach (CBaseObject obj in lstObj) { CColumnDefaultValInView cdviv = (CColumnDefaultValInView)obj; CColumn col = (CColumn)baseObjectMgr.Table.ColumnMgr.Find(cdviv.FW_Column_id); if (col == null) { continue; } if (View.ColumnInViewMgr.FindByColumn(col.Id) != null) //在视图列中 { Control[] ctrls = this.Controls.Find(col.Code, true); if (ctrls.Length > 0) { if (baseObject == null) //新建 { ((IColumnCtrl)ctrls[0]).SetValue(GetColumnDefaultVal(cdviv)); } if (cdviv.ReadOnly) { ctrls[0].Enabled = false; } } } else //不在视图列中 { Control ctrl = ColumnMapControl(col); if (ctrl != null) { ctrl.Name = col.Code; if (baseObject == null) //新建 { ((IColumnCtrl)ctrl).SetValue(GetColumnDefaultVal(cdviv)); } ctrl.Visible = false; //作为隐藏字段 this.Controls.Add(ctrl); } } } // this.Height = nTop; }
void LoadUI() { if (View == null) { return; } if (BaseObjectMgr == null) { return; } m_sortRestrictColumnAccessType = Program.User.GetRestrictColumnAccessTypeList(BaseObjectMgr.Table); if (BaseObject == null) //新建 { BaseObject = BaseObjectMgr.CreateBaseObject(); BaseObject.Ctx = BaseObjectMgr.Ctx; BaseObject.TbCode = BaseObjectMgr.TbCode; m_bIsNew = true; } this.Controls.Clear(); List <CBaseObject> lstCIV = View.ColumnInViewMgr.GetList(); int nTop = 5; foreach (CBaseObject obj in lstCIV) { CColumnInView civ = (CColumnInView)obj; CColumn col = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civ.FW_Column_id); if (col == null) { continue; } //判断禁止权限字段 bool bReadOnly = false; if (m_sortRestrictColumnAccessType.ContainsKey(col.Id)) { AccessType accessType = m_sortRestrictColumnAccessType[col.Id]; if (accessType == AccessType.forbide) { continue; } else if (accessType == AccessType.read) { bReadOnly = true; } } // Control ctrl = ColumnMapControl(col); if (ctrl != null) { ctrl.Name = col.Code; ctrl.Left = 10; ctrl.Top = nTop; //ctrl.Width = lbCaption.Width; //ctrl.Height = lbCaption.Height; this.Controls.Add(ctrl); //只读权限 if (bReadOnly) { ctrl.Enabled = false; } } nTop = ctrl.Bottom + 5; } //具有默认值的字段 List <CBaseObject> lstObj = View.ColumnDefaultValInViewMgr.GetList(); foreach (CBaseObject obj in lstObj) { CColumnDefaultValInView cdviv = (CColumnDefaultValInView)obj; CColumn col = (CColumn)baseObjectMgr.Table.ColumnMgr.Find(cdviv.FW_Column_id); if (col == null) { continue; } if (View.ColumnInViewMgr.FindByColumn(col.Id) != null) //在视图列中 { Control[] ctrls = this.Controls.Find(col.Code, true); if (ctrls.Length > 0) { if (m_bIsNew) //新建 { ((IColumnCtrl)ctrls[0]).SetValue(GetColumnDefaultVal(cdviv)); } if (cdviv.ReadOnly) { ctrls[0].Enabled = false; } } } else //不在视图列中 { Control ctrl = ColumnMapControl(col); if (ctrl != null) { ctrl.Name = col.Code; if (m_bIsNew) //新建 { ((IColumnCtrl)ctrl).SetValue(GetColumnDefaultVal(cdviv)); } ctrl.Visible = false; //作为隐藏字段 this.Controls.Add(ctrl); } } } // //明细 CViewDetail vd = (CViewDetail)View.ViewDetailMgr.GetFirstObj(); ViewDetailGrid vdg = new ViewDetailGrid(); vdg.ViewDetail = vd; CTable tb = (CTable)Program.Ctx.TableMgr.Find(vd.FW_Table_id); if (tb != null) { CBaseObjectMgr objMgr = BaseObject.GetSubObjectMgr(tb.Code, typeof(CBaseObjectMgr)); vdg.BaseObjectMgr = objMgr; } vdg.ShowTitleBar = false; vdg.m_bShowWorkflow = false; vdg.Left = 10; vdg.Top = nTop; vdg.Width = this.Width - 20; vdg.Height = 300; this.Controls.Add(vdg); nTop = vdg.Bottom + 5; this.Height = nTop; }
//验证数据 bool Validate() { foreach (CBaseObject objCIV in View.ColumnInViewMgr.GetList()) { CColumnInView civ = (CColumnInView)objCIV; CColumn col = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civ.FW_Column_id); 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)) { continue; } else if (col.Code.Equals("Creator", StringComparison.OrdinalIgnoreCase)) { continue; } else if (col.Code.Equals("Updated", StringComparison.OrdinalIgnoreCase)) { continue; } else if (col.Code.Equals("Updator", StringComparison.OrdinalIgnoreCase)) { continue; } Control[] ctrls = this.Controls.Find(col.Code, false); if (ctrls.Length == 0) { continue; } IColumnCtrl ctrl = (IColumnCtrl)ctrls[0]; object val = ctrl.GetValue(); if (!col.AllowNull && (val == null || val.ToString() == "")) { MessageBox.Show(string.Format("{0}不允许空!", col.Name), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } if (col.ColType == ColumnType.string_type) { if (val.ToString().Length > col.ColLen) { MessageBox.Show(string.Format("{0}长度不能超过{1}!", col.Name, col.ColLen), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } else if (col.ColType == ColumnType.datetime_type) { if (!(val == null || val.ToString() == "")) { try { Convert.ToDateTime(val); } catch { MessageBox.Show(string.Format("{0}日期格式错误!", col.Name), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } } else if (col.ColType == ColumnType.int_type || col.ColType == ColumnType.long_type) { if (!CUtil.IsInt(val.ToString())) { MessageBox.Show(string.Format("{0}为整型数字!", col.Name), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } else if (col.ColType == ColumnType.numeric_type) { if (!CUtil.IsNum(val.ToString())) { MessageBox.Show(string.Format("{0}为数字!", col.Name), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } else if (col.ColType == ColumnType.guid_type || col.ColType == ColumnType.ref_type) { if (!(val == null || val.ToString() == "")) { try { Guid guid = new Guid(val.ToString()); } catch { MessageBox.Show(string.Format("{0}为GUID格式!", col.Name), "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return(false); } } } } return(true); }