Example #1
0
        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--;
        }
Example #2
0
        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;
                    }
                }
            }
        }
Example #3
0
        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);
 }
Example #5
0
        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);
            }
        }
Example #6
0
 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);
        }
    }
Example #8
0
        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;
            }
        }
Example #9
0
        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;
            }
        }
Example #10
0
    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);
    }
Example #11
0
        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;
            }
        }
Example #12
0
 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);
 }
Example #13
0
        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;
                }
            }
        }
Example #14
0
    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);
    }
Example #16
0
    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);
    }
Example #17
0
        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();
        }
Example #18
0
        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);
        }
Example #19
0
        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);
        }