void PostDetailData()
    {
        string GridData2 = Request["GridData2"];

        if (string.IsNullOrEmpty(GridData2))
        {
            Response.Write("从表字段不能空!");
            return;
        }
        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));

        string[] 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);
        }
    }
Esempio n. 2
0
        private void btDown2_Click(object sender, EventArgs e)
        {
            if (dataGridView2.CurrentRow == null)
            {
                MessageBox.Show("请选择一行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (dataGridView2.CurrentRow.Index == dataGridView2.Rows.Count - 1)
            {
                return;
            }

            int             idx  = dataGridView2.CurrentRow.Index;
            DataGridViewRow row  = dataGridView2.CurrentRow;
            DataGridViewRow row2 = dataGridView2.Rows[idx + 1];

            dataGridView2.Rows.Remove(row2);
            dataGridView2.Rows.Insert(idx, row2);
            CColumnInViewDetail civd = (CColumnInViewDetail)row.Tag;

            civd.Idx++;
            CColumnInViewDetail civd2 = (CColumnInViewDetail)row2.Tag;

            civd2.Idx--;
        }
Esempio n. 3
0
        void LoadHeader()
        {
            if (ViewDetail == null)
            {
                return;
            }
            if (dataGridView == null)
            {
                return;
            }
            dataGridView.Columns.Clear();

            CTable table = (CTable)Program.Ctx.TableMgr.Find(ViewDetail.FW_Table_id);

            if (table == null)
            {
                return;
            }
            bool bHas = false;
            List <CBaseObject> lstCIVD = ViewDetail.ColumnInViewDetailMgr.GetList();

            if (lstCIVD.Count > 0)
            {
                bHas = true;
                foreach (CBaseObject obj in lstCIVD)
                {
                    CColumnInViewDetail civd = (CColumnInViewDetail)obj;
                    CColumn             col  = (CColumn)table.ColumnMgr.Find(civd.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 = 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);
                }
            }
            ////工作流
            //DataGridViewTextBoxColumn columnWF = new DataGridViewTextBoxColumn();
            //columnWF.Name = "workflow";
            //columnWF.HeaderText = "工作流";
            //dataGridView.Columns.Add(columnWF);
        }
    void GetDetail()
    {
        string table_id = Request["table_id"];

        if (string.IsNullOrEmpty(table_id))
        {
            return;
        }

        CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.FindByTable(new Guid(table_id));

        if (ViewDetail == null)
        {
            return;
        }
        List <CBaseObject>         lstObj  = ViewDetail.ColumnInViewDetailMgr.GetList();
        List <CColumnInViewDetail> sortObj = new List <CColumnInViewDetail>();

        foreach (CBaseObject obj in lstObj)
        {
            CColumnInViewDetail civd = (CColumnInViewDetail)obj;
            sortObj.Add(civd);
        }
        sortObj.Sort();

        CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(ViewDetail.FW_Table_id);

        string sData = "";

        int iCount = 0;

        foreach (CColumnInViewDetail civd in sortObj)
        {
            CColumn col = (CColumn)table.ColumnMgr.Find(civd.FW_Column_id);
            if (col == null)
            {
                continue;
            }

            sData += string.Format("{{ \"id\": \"{0}\",\"ColName\":\"{1}\",\"Caption\":\"{2}\"}},"
                                   , civd.Id, col.Name, civd.Caption);

            iCount++;
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, iCount);

        Response.Write(sJson);
    }
Esempio n. 5
0
        void LoadGridView2()
        {
            if (cbDetailTable.SelectedIndex == -1)
            {
                return;
            }
            DataItem item = (DataItem)cbDetailTable.SelectedItem;
            CTable   tb   = (CTable)item.Data;

            txtDetailTable2.Text = tb.Name;
            CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj();

            List <CBaseObject> lstObj = ViewDetail.ColumnInViewDetailMgr.GetList();


            dataGridView2.Rows.Clear();
            foreach (CBaseObject obj in lstObj)
            {
                CColumnInViewDetail civd = (CColumnInViewDetail)obj;
                if (!civd.IsVirtual)
                {
                    CColumn column = (CColumn)tb.ColumnMgr.Find(civd.FW_Column_id);
                    if (column == null)
                    {
                        continue;
                    }

                    dataGridView2.Rows.Add(1);
                    DataGridViewRow rowNew = dataGridView2.Rows[dataGridView2.Rows.Count - 1];
                    rowNew.Cells[0].Value    = column.Name;
                    rowNew.Cells[0].ReadOnly = true;
                    rowNew.Cells[1].Value    = civd.Caption;
                    rowNew.Tag = civd;
                }
                else
                {
                    dataGridView2.Rows.Add(1);
                    DataGridViewRow rowNew = dataGridView2.Rows[dataGridView2.Rows.Count - 1];
                    rowNew.Cells[0].Value    = civd.Caption;
                    rowNew.Cells[0].ReadOnly = true;
                    rowNew.Cells[1].Value    = civd.Caption;
                    rowNew.Tag = civd;
                }
            }
        }
Esempio n. 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);
     }
     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);
 }
    public List <CColumn> GetDetailColList()
    {
        List <CColumn> lstRet = new List <CColumn>();

        List <CBaseObject> lstObjCIVD = m_ViewDetail.ColumnInViewDetailMgr.GetList();

        for (int i = 0; i < lstObjCIVD.Count; i++)
        {
            CColumnInViewDetail civd = (CColumnInViewDetail)lstObjCIVD[i];
            CColumn             col  = (CColumn)m_Table.ColumnMgr.Find(civd.FW_Column_id);
            if (col == null)
            {
                continue;
            }
            lstRet.Add(col);
        }
        return(lstRet);
    }
    void GetDetail()
    {
        CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj();

        if (ViewDetail == null)
        {
            return;
        }
        List <CBaseObject>         lstObj  = ViewDetail.ColumnInViewDetailMgr.GetList();
        List <CColumnInViewDetail> sortObj = new List <CColumnInViewDetail>();

        foreach (CBaseObject obj in lstObj)
        {
            CColumnInViewDetail civd = (CColumnInViewDetail)obj;
            sortObj.Add(civd);
        }
        sortObj.Sort();

        string sData = "";

        int iCount = 0;

        foreach (CColumnInViewDetail civd in sortObj)
        {
            CColumn col = (CColumn)m_DTable.ColumnMgr.Find(civd.FW_Column_id);
            if (col == null)
            {
                continue;
            }

            sData += string.Format("{{ \"id\": \"{0}\",\"ColName\":\"{1}\",\"Caption\":\"{2}\"}},"
                                   , civd.Id, col.Name, civd.Caption);

            iCount++;
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, iCount);

        Response.Write(sJson);
    }
Esempio n. 9
0
    public List <CColumn> GetDetailColList()
    {
        List <CColumn> lstRet = new List <CColumn>();

        CViewDetail        ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj();
        CTable             table      = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(ViewDetail.FW_Table_id);
        List <CBaseObject> lstObjCIVD = ViewDetail.ColumnInViewDetailMgr.GetList();

        for (int i = 0; i < lstObjCIVD.Count; i++)
        {
            CColumnInViewDetail civd = (CColumnInViewDetail)lstObjCIVD[i];
            CColumn             col  = (CColumn)table.ColumnMgr.Find(civd.FW_Column_id);
            if (col == null)
            {
                continue;
            }
            lstRet.Add(col);
        }
        return(lstRet);
    }
    protected void listDetailColumn_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (m_bIsLoadingData)
        {
            return;
        }
        if (cbDetailTable.SelectedIndex == -1)
        {
            return;
        }
        string s     = Request.Form["__EVENTTARGET"];
        int    index = Convert.ToInt32(s.Substring(s.LastIndexOf("$") + 1));

        CTable      table      = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(new Guid(cbDetailTable.SelectedItem.Value));
        CColumn     column     = (CColumn)table.ColumnMgr.Find(new Guid(listDetailColumn.Items[index].Value));
        CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.FindByTable(column.FW_Table_id);

        if (listDetailColumn.Items[index].Selected)
        {
            CColumnInViewDetail civd = (CColumnInViewDetail)ViewDetail.ColumnInViewDetailMgr.FindByColumn(column.Id);
            if (civd == null)
            {
                civd                  = new CColumnInViewDetail();
                civd.Ctx              = Global.GetCtx(Session["TopCompany"].ToString());
                civd.FW_Column_id     = column.Id;
                civd.FW_Table_id      = column.FW_Table_id;
                civd.Caption          = column.Name;
                civd.UI_ViewDetail_id = ViewDetail.Id;
                civd.Idx              = ViewDetail.ColumnInViewDetailMgr.NewIdx();
                ViewDetail.ColumnInViewDetailMgr.AddNew(civd);
            }
        }
        else
        {
            CColumnInViewDetail obj = (CColumnInViewDetail)ViewDetail.ColumnInViewDetailMgr.FindByColumn(column.Id);
            if (obj != null)
            {
                ViewDetail.ColumnInViewDetailMgr.Delete(obj);
            }
        }
    }
Esempio n. 11
0
        private void btAddVirCol2_Click(object sender, EventArgs e)
        {
            if (txtVirCol2.Text.Trim() == "")
            {
                MessageBox.Show("请输入虚列标题!");
                return;
            }
            foreach (DataGridViewRow r in dataGridView2.Rows)
            {
                if (r.Cells[1].Value.ToString().Equals(txtVirCol2.Text.Trim(), StringComparison.OrdinalIgnoreCase))
                {
                    MessageBox.Show("标题已经存在!");
                    return;
                }
            }

            CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj();

            CColumnInViewDetail civd = new CColumnInViewDetail();

            civd.Ctx = ViewDetail.Ctx;
            civd.UI_ViewDetail_id = ViewDetail.Id;
            civd.IsVirtual        = true;
            civd.Caption          = txtVirCol2.Text.Trim();
            ViewDetail.ColumnInViewDetailMgr.AddNew(civd);

            dataGridView2.Rows.Add();
            DataGridViewRow rowNew = dataGridView2.Rows[dataGridView2.Rows.Count - 1];

            rowNew.Cells[0].Value    = civd.Caption;
            rowNew.Cells[0].ReadOnly = true;
            rowNew.Cells[1].Value    = civd.Caption;
            rowNew.Tag = civd;

            txtVirCol2.Text = "";
        }
Esempio n. 12
0
        private void listDetailColumn_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            CColumn     column     = (CColumn)e.Item.Tag;
            CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.GetFirstObj();

            if (e.Item.Checked)
            {
                CColumnInViewDetail civd = new CColumnInViewDetail();
                civd.Ctx              = Program.Ctx;
                civd.FW_Column_id     = column.Id;
                civd.FW_Table_id      = column.FW_Table_id;
                civd.Caption          = column.Name;
                civd.UI_ViewDetail_id = ViewDetail.Id;
                ViewDetail.ColumnInViewDetailMgr.AddNew(civd);

                dataGridView2.Rows.Add(1);
                DataGridViewRow rowNew = dataGridView2.Rows[dataGridView2.Rows.Count - 1];
                rowNew.Cells[0].Value    = column.Name;
                rowNew.Cells[0].ReadOnly = true;
                rowNew.Cells[1].Value    = civd.Caption;
                rowNew.Tag = civd;
            }
            else
            {
                for (int i = 0; i < dataGridView2.Rows.Count; i++)
                {
                    CColumnInViewDetail civd = (CColumnInViewDetail)dataGridView2.Rows[i].Tag;
                    if (civd.FW_Column_id == column.Id)
                    {
                        ViewDetail.ColumnInViewDetailMgr.Delete(civd);
                        dataGridView2.Rows.RemoveAt(i);
                        break;
                    }
                }
            }
        }
        void LoadUI()
        {
            if (ViewDetail == null)
            {
                return;
            }
            if (BaseObjectMgr == null)
            {
                return;
            }
            m_sortRestrictColumnAccessType = Program.User.GetRestrictColumnAccessTypeList(BaseObjectMgr.Table);

            this.Controls.Clear();
            List <CBaseObject> lstCIV = ViewDetail.ColumnInViewDetailMgr.GetList();
            int nTop = 5;

            foreach (CBaseObject obj in lstCIV)
            {
                CColumnInViewDetail civd = (CColumnInViewDetail)obj;
                CColumn             col  = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civd.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 = ViewDetail.ColumnDefaultValInViewDetailMgr.GetList();

            foreach (CBaseObject obj in lstObj)
            {
                CColumnDefaultValInViewDetail cdvivd = (CColumnDefaultValInViewDetail)obj;
                CColumn col = (CColumn)baseObjectMgr.Table.ColumnMgr.Find(cdvivd.FW_Column_id);
                if (col == null)
                {
                    continue;
                }
                if (ViewDetail.ColumnInViewDetailMgr.FindByColumn(col.Id) != null) //在视图列中
                {
                    Control[] ctrls = this.Controls.Find(col.Code, true);
                    if (ctrls.Length > 0)
                    {
                        if (baseObject == null) //新建
                        {
                            ((IColumnCtrl)ctrls[0]).SetValue(GetColumnDefaultVal(cdvivd));
                        }
                        if (cdvivd.ReadOnly)
                        {
                            ctrls[0].Enabled = false;
                        }
                    }
                }
                else  //不在视图列中
                {
                    Control ctrl = ColumnMapControl(col);
                    if (ctrl != null)
                    {
                        ctrl.Name = col.Code;
                        if (baseObject == null) //新建
                        {
                            ((IColumnCtrl)ctrl).SetValue(GetColumnDefaultVal(cdvivd));
                        }
                        ctrl.Visible = false; //作为隐藏字段
                        this.Controls.Add(ctrl);
                    }
                }
            }
            //
            this.Height = nTop;
        }
        //验证数据
        bool Validate()
        {
            foreach (CBaseObject obj in ViewDetail.ColumnInViewDetailMgr.GetList())
            {
                CColumnInViewDetail civd = (CColumnInViewDetail)obj;
                CColumn             col  = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civd.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);
        }
        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 ViewDetail.ColumnInViewDetailMgr.GetList())
                {
                    CColumnInViewDetail civd = (CColumnInViewDetail)obj;
                    CColumn             col  = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(civd.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;
                    }
                }
                //外键关联
                CBaseObject objP = BaseObjectMgr.m_Parent;
                CColumn     colP = (CColumn)objP.Table.ColumnMgr.Find(viewDetail.PrimaryKey);
                CColumn     colF = (CColumn)BaseObjectMgr.Table.ColumnMgr.Find(viewDetail.ForeignKey);
                BaseObject.SetColValue(colF, objP.GetColValue(colP));

                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);
        }
Esempio n. 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);
    }
Esempio n. 17
0
        private void listDetailColumn_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            if (m_bIsLoadingData)
            {
                return;
            }
            CColumn     column     = (CColumn)e.Item.Tag;
            CViewDetail ViewDetail = (CViewDetail)m_View.ViewDetailMgr.FindByTable(column.FW_Table_id);

            if (e.Item.Checked)
            {
                CColumnInViewDetail civd = new CColumnInViewDetail();
                civd.Ctx              = Program.Ctx;
                civd.FW_Column_id     = column.Id;
                civd.FW_Table_id      = column.FW_Table_id;
                civd.Caption          = column.Name;
                civd.UI_ViewDetail_id = ViewDetail.Id;
                civd.Idx              = ViewDetail.ColumnInViewDetailMgr.NewIdx();
                ViewDetail.ColumnInViewDetailMgr.AddNew(civd);

                if (cbDetailTable3.SelectedIndex != -1)
                {
                    DataItem item  = (DataItem)cbDetailTable3.SelectedItem;
                    CTable   table = (CTable)item.Data;
                    if (table.Id == column.FW_Table_id)
                    {
                        dataGridView2.Rows.Add(1);
                        DataGridViewRow rowNew = dataGridView2.Rows[dataGridView2.Rows.Count - 1];
                        rowNew.Cells[0].Value    = column.Name;
                        rowNew.Cells[0].ReadOnly = true;
                        rowNew.Cells[1].Value    = civd.Caption;
                        rowNew.Tag = civd;
                    }
                }
            }
            else
            {
                if (cbDetailTable3.SelectedIndex != -1)
                {
                    DataItem item  = (DataItem)cbDetailTable3.SelectedItem;
                    CTable   table = (CTable)item.Data;
                    if (table.Id == column.FW_Table_id)
                    {
                        for (int i = 0; i < dataGridView2.Rows.Count; i++)
                        {
                            CColumnInViewDetail civd = (CColumnInViewDetail)dataGridView2.Rows[i].Tag;
                            if (civd.FW_Column_id == column.Id)
                            {
                                dataGridView2.Rows.RemoveAt(i);
                                break;
                            }
                        }
                    }
                }
                CColumnInViewDetail obj = (CColumnInViewDetail)ViewDetail.ColumnInViewDetailMgr.FindByColumn(column.Id);
                if (obj != null)
                {
                    ViewDetail.ColumnInViewDetailMgr.Delete(obj);
                }
            }
        }