Пример #1
0
        /// <summary>
        /// 数据源
        /// </summary>
        /// <param name="attrs">数据字符串,规则如下:
        /// <para>1.每个字段间用 ^ 来分隔</para>
        /// <para>2.字段的信息间用 ~ 来分隔</para>
        /// <para>3.字段的信息分别为:英文名称,中文名称,数据类型,最大长度,逻辑类型,序号</para>
        /// </param>
        /// <param name="tableName">数据表名称</param>
        public void InitMapAttr(string tableName, string attrs)
        {
            Pub1.AddEasyUiPanelInfo("发送信息", attrs);
            return;

            //删除有可能存在的临时数据.
            string tempStr = tableName + "Tmp";

            MapAttr ma = new MapAttr();

            ma.Delete(MapAttrAttr.FK_MapData, tempStr);

            string[] strs = attrs.Split('^');
            foreach (string str in strs)
            {
                if (string.IsNullOrEmpty(str))
                {
                    continue;
                }

                string[] mystrs = str.Split('~');
                ma            = new MapAttr();
                ma.KeyOfEn    = mystrs[0];
                ma.Name       = mystrs[1];
                ma.FK_MapData = tempStr;
                ma.MyDataType = int.Parse(mystrs[2]);
                ma.MaxLen     = int.Parse(mystrs[3]);
                ma.LGType     = (BP.En.FieldTypeS) int.Parse(mystrs[4]);
                ma.Idx        = int.Parse(mystrs[5]);
                ma.MyPK       = tempStr + "_" + ma.KeyOfEn;
                ma.Insert();
            }
        }
Пример #2
0
        /// <summary>
        /// 删除,把影子字段也要删除.
        /// </summary>
        protected override void afterDelete()
        {
            MapAttr attr = new MapAttr();

            attr.MyPK = attr.FK_MapData + "_" + this.KeyOfEn + "T";
            attr.Delete();

            base.afterDelete();
        }
Пример #3
0
        /// <summary>
        /// 删除,把影子字段也要删除.
        /// </summary>
        protected override void afterDelete()
        {
            MapAttr attr = new MapAttr();

            attr.MyPK = attr.FK_MapData + "_" + this.KeyOfEn + "T";
            attr.Delete();

            //调用frmEditAction, 完成其他的操作.
            BP.Sys.CCFormAPI.AfterFrmEditAction(this.FK_MapData);
            base.afterDelete();
        }
        void btn_Click(object sender, EventArgs e)
        {
            MapDatas mds      = this.GetMDs;
            MapAttr  mattrOld = new MapAttr(this.FK_MapData, this.KeyOfEn);
            MapAttr  mattr    = new MapAttr(this.FK_MapData, this.KeyOfEn);

            foreach (MapData md in mds)
            {
                CheckBox cb = this.Pub1.GetCBByID("CB_" + md.No);
                if (cb == null)
                {
                    continue;
                }

                if (cb.Checked == false)
                {
                    continue;
                }

                if (this.DoType == "Copy")
                {
                    /*执行批量Copy*/
                    mattr.FK_MapData = md.No;
                    mattr.Insert();
                    mattr.Idx = mattrOld.Idx;
                }

                if (this.DoType == "Update")
                {
                    /*执行批量Update*/
                    MapAttr mattrUpdate = new MapAttr(md.No, this.KeyOfEn);
                    int     gID         = mattrUpdate.GroupID;
                    mattrUpdate.Copy(mattrOld);
                    mattrUpdate.FK_MapData = md.No;
                    mattrUpdate.GroupID    = gID;
                    mattrUpdate.Update();
                }

                if (this.DoType == "Delete")
                {
                    /*执行批量 Delete */
                    MapAttr mattrDelete = new MapAttr(md.No, this.KeyOfEn);
                    mattrDelete.Delete();
                }
            }
            // 转向.
            this.Response.Redirect(this.Request.RawUrl, true);
        }
Пример #5
0
        /// <summary>
        /// 替换名称
        /// </summary>
        /// <param name="fieldOldName">旧名称</param>
        /// <param name="newField">新字段</param>
        /// <param name="newFieldName">新字段名称(可以为空)</param>
        /// <returns></returns>
        public string DoChangeFieldName(string fieldOld, string newField, string newFieldName)
        {
            MapAttr attrOld = new MapAttr();

            attrOld.KeyOfEn    = fieldOld;
            attrOld.FK_MapData = this.No;
            attrOld.MyPK       = attrOld.FK_MapData + "_" + attrOld.KeyOfEn;
            if (attrOld.RetrieveFromDBSources() == 0)
            {
                return("@旧字段输入错误[" + attrOld.KeyOfEn + "].");
            }

            //检查是否存在该字段?
            MapAttr attrNew = new MapAttr();

            attrNew.KeyOfEn    = newField;
            attrNew.FK_MapData = this.No;
            attrNew.MyPK       = attrNew.FK_MapData + "_" + attrNew.KeyOfEn;
            if (attrNew.RetrieveFromDBSources() == 1)
            {
                return("@该字段[" + attrNew.KeyOfEn + "]已经存在.");
            }

            //删除旧数据.
            attrOld.Delete();

            //copy这个数据,增加上它.
            attrNew.Copy(attrOld);
            attrNew.KeyOfEn    = newField;
            attrNew.FK_MapData = this.No;

            if (newFieldName != "")
            {
                attrNew.Name = newFieldName;
            }

            attrNew.Insert();

            //更新处理他的相关业务逻辑.
            MapExts exts = new MapExts(this.No);

            foreach (MapExt item in exts)
            {
                item.MyPK = item.MyPK.Replace("_" + fieldOld, "_" + newField);

                if (item.AttrOfOper == fieldOld)
                {
                    item.AttrOfOper = newField;
                }

                if (item.AttrsOfActive == fieldOld)
                {
                    item.AttrsOfActive = newField;
                }

                item.Tag  = item.Tag.Replace(fieldOld, newField);
                item.Tag1 = item.Tag1.Replace(fieldOld, newField);
                item.Tag2 = item.Tag2.Replace(fieldOld, newField);
                item.Tag3 = item.Tag3.Replace(fieldOld, newField);

                item.AtPara = item.AtPara.Replace(fieldOld, newField);
                item.Doc    = item.Doc.Replace(fieldOld, newField);
                item.Save();
            }
            return("执行成功");
        }
Пример #6
0
        public void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                Button btn = sender as Button;
                switch (btn.ID)
                {
                case "Btn_Del":
                    MapAttr attrDel = new MapAttr();
                    attrDel.MyPK = this.RefNo;
                    attrDel.Delete();
                    this.WinClose();
                    return;

                default:
                    break;
                }

                MapAttr attr = new MapAttr();
                if (this.RefNo != null)
                {
                    attr.MyPK = this.RefNo;
                    try
                    {
                        attr.Retrieve();
                    }
                    catch
                    {
                        attr.CheckPhysicsTable();
                        attr.Retrieve();
                    }

                    attr         = (MapAttr)this.Pub1.Copy(attr);
                    attr.GroupID = this.Pub1.GetDDLByID("DDL_GroupID").SelectedItemIntVal;
                    attr.ColSpan = this.Pub1.GetDDLByID("DDL_ColSpan").SelectedItemIntVal;
                    if (attr.UIIsEnable == false && attr.MyDataType == DataType.AppString)
                    {
                        try
                        {
                            attr.IsSigan = this.Pub1.GetCBByID("CB_IsSigan").Checked;
                        }
                        catch
                        {
                        }
                    }

                    switch (this.FType)
                    {
                    case DataType.AppBoolean:
                        attr.MyDataType   = BP.DA.DataType.AppBoolean;
                        attr.DefValOfBool = this.Pub1.GetCBByID("CB_DefVal").Checked;
                        break;

                    case DataType.AppDateTime:
                    case DataType.AppDate:
                        attr.DefValReal = this.Pub1.GetTBByID("TB_DefVal").Text;
                        //if (this.Pub1.GetCBByID("CB_DefVal").Checked)
                        //    attr.DefValReal = "1";
                        //else
                        //    attr.DefValReal = "0";
                        break;

                    case DataType.AppString:
                        attr.UIBindKey = this.Pub1.GetDDLByID("DDL_TBModel").SelectedItemStringVal;
                        if (attr.TBModel == 2)
                        {
                            attr.MaxLen = 4000;
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    attr         = (MapAttr)this.Pub1.Copy(attr);
                    attr.GroupID = this.Pub1.GetDDLByID("DDL_GroupID").SelectedItemIntVal;
                    attr.ColSpan = this.Pub1.GetDDLByID("DDL_ColSpan").SelectedItemIntVal;

                    MapAttrs attrS = new MapAttrs(this.MyPK);
                    int      idx   = 0;
                    foreach (MapAttr en in attrS)
                    {
                        idx++;
                        en.Idx = idx;
                        en.Update();
                        if (en.KeyOfEn == attr.KeyOfEn)
                        {
                            throw new Exception("字段已经存在 Key=" + attr.KeyOfEn);
                        }
                    }
                    if (this.IDX == null || this.IDX == "")
                    {
                        attr.Idx = 0;
                    }
                    else
                    {
                        attr.Idx = int.Parse(this.IDX) - 1;
                    }

                    attr.MyDataType = this.FType;
                    switch (this.FType)
                    {
                    case DataType.AppBoolean:
                        attr.MyDataType    = BP.DA.DataType.AppBoolean;
                        attr.UIContralType = UIContralType.CheckBok;
                        attr.DefValOfBool  = this.Pub1.GetCBByID("CB_DefVal").Checked;
                        break;

                    case DataType.AppString:
                        attr.UIBindKey = this.Pub1.GetDDLByID("DDL_TBModel").SelectedItemStringVal;
                        break;

                    default:
                        break;
                    }
                }

                // 增加是否为空, 对数字类型的字段有效.
                try
                {
                    attr.MinLen = this.Pub1.GetDDLByID("DDL_IsNull").SelectedItemIntVal;
                }
                catch
                {
                }

                //数字签名.
                try
                {
                    //签名类型.
                    attr.SignType = (SignType)this.Pub1.GetDDLByID("DDL_SignType").SelectedItemIntVal;

                    if (attr.SignType == SignType.Pic)
                    {
                        attr.PicType = (PicType)this.Pub1.GetDDLByID("DDL_PicType").SelectedItemIntVal;//是否为自动签名
                    }
                    else if (attr.SignType == SignType.CA)
                    {
                        attr.Para_SiganField = this.Pub1.GetTBByID("TB_SiganField").Text;//数字签名字段.
                    }
                }
                catch
                {
                }

                attr.Para_FontSize = this.Pub1.GetDDLByID("DDL_FontSize").SelectedItemIntVal;

                //保存数字签名.
                Response.Buffer = true;
                attr.FK_MapData = this.MyPK;
                attr.MyPK       = this.RefNo;

                //执行一次update 处理mapdata的计算的业务逻辑.
                MapData md = new MapData();
                md.No = attr.FK_MapData;
                if (md.RetrieveFromDBSources() == 1)
                {
                    md.Update();
                }

                attr.Save();

                switch (btn.ID)
                {
                case "Btn_SaveAndClose":
                    this.WinClose();
                    return;

                case "Btn_SaveAndNew":
                    this.Response.Redirect("Do.aspx?DoType=AddF&MyPK=" + this.MyPK + "&IDX=" + this.IDX + "&GroupField=" + attr.GroupID, true);
                    return;

                default:
                    break;
                }
                this.Response.Redirect("EditF.aspx?DoType=Edit&MyPK=" + this.MyPK + "&RefNo=" + attr.MyPK + "&FType=" + this.FType + "&GroupField=" + attr.GroupID, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                Button btn = sender as Button;
                switch (btn.ID)
                {
                case "Btn_Del":
                    MapAttr attrDel = new MapAttr();
                    attrDel.MyPK = this.RefNo;
                    attrDel.Delete();
                    this.WinClose();
                    return;

                default:
                    break;
                }

                MapAttr attr = new MapAttr();
                if (this.RefNo == null || this.RefNo == "")
                {
                    attr.MyPK          = this.MyPK + "_" + this.Pub1.GetTBByID("TB_KeyOfEn").Text;
                    attr.UIContralType = UIContralType.DDL;
                    attr.MyDataType    = BP.DA.DataType.AppString;
                    attr.LGType        = FieldTypeS.FK;
                    attr.DefVal        = "";
                    attr.UIBindKey     = this.Request.QueryString["SFKey"];
                    attr.UIIsEnable    = true;
                }
                else
                {
                    attr.MyPK = this.RefNo;
                    attr.Retrieve();
                }
                attr            = (MapAttr)this.Pub1.Copy(attr);
                attr.FK_MapData = this.MyPK;
                attr.GroupID    = this.Pub1.GetDDLByID("DDL_GroupID").SelectedItemIntVal;
                attr.DefVal     = this.Pub1.GetTBByID("TB_DefVal").Text;
                attr.UIBindKey  = this.Pub1.GetTBByID("TB_UIBindKey").Text;

                //if (this.Pub1.IsExit("CB_IsDefValNull"))
                //{
                //    if (this.Pub1.GetCBByID("CB_IsDefValNull").Checked == false)
                //        attr.DefVal = this.Pub1.GetDDLByID("DDL").SelectedItemStringVal;
                //    else
                //        attr.DefVal = "";
                //}
                //else
                //{
                //    string s = this.Pub1.GetDDLByID("DDL_DefVal").SelectedItemStringVal;
                //    if (s == "@Select")
                //    {
                //        attr.DefVal = this.Pub1.GetDDLByID("DDL").SelectedItemStringVal;
                //    }
                //    else
                //    {
                //        attr.DefVal = s;
                //    }
                //}

                if (this.RefNo == null || this.RefNo == "")
                {
                    attr.Insert();
                }
                else
                {
                    attr.Update();
                }

                switch (btn.ID)
                {
                case "Btn_SaveAndClose":
                    this.WinClose();
                    return;

                case "Btn_SaveAndNew":
                    this.Response.Redirect("Do.aspx?DoType=AddF&MyPK=" + this.MyPK + "&IDX=" + attr.Idx + "&GroupField=" + this.GroupField, true);
                    return;

                default:
                    break;
                }
                this.Response.Redirect("EditTable.aspx?DoType=Edit&MyPK=" + this.MyPK + "&RefNo=" + attr.MyPK + "&GroupField=" + this.GroupField, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                switch (this.DoType)
                {
                case "DownTempFrm":
                    MapData md   = new MapData(this.FK_MapData);
                    DataSet ds   = md.GenerHisDataSet();
                    string  name = "ccflow表单模板." + md.Name + "." + md.No + ".xml";
                    string  file = this.Request.PhysicalApplicationPath + "\\Temp\\" + this.FK_MapData + ".xml";
                    ds.WriteXml(file);
                    this.Response.Redirect("../../Temp/" + this.FK_MapData + ".xml", true);
                    this.WinClose();
                    break;

                case "CCForm":
                    this.Application.Clear();
                    if (WebUser.NoOfRel != "admin")
                    {
                        BP.Port.Emp emp = new BP.Port.Emp("admin");
                        BP.Web.WebUser.SignInOfGener(emp);
                    }

                    MapAttr mattr = new MapAttr();
                    mattr.MyPK = this.Request.QueryString["MyPK"];
                    int i = mattr.RetrieveFromDBSources();
                    mattr.KeyOfEn    = this.Request.QueryString["KeyOfEn"];
                    mattr.FK_MapData = this.Request.QueryString["FK_MapData"];
                    mattr.MyDataType = int.Parse(this.Request.QueryString["DataType"]);

                    if (!string.IsNullOrEmpty(this.Request.QueryString["UIBindKey"] + ""))
                    {
                        mattr.UIBindKey = this.Request.QueryString["UIBindKey"];
                    }
                    mattr.UIContralType = (UIContralType)int.Parse(this.Request.QueryString["UIContralType"]);
                    mattr.LGType        = (BP.En.FieldTypeS) int.Parse(this.Request.QueryString["LGType"]);
                    if (i == 0)
                    {
                        mattr.Name       = System.Web.HttpUtility.UrlDecode(this.Request.QueryString["KeyName"], System.Text.Encoding.GetEncoding("GB2312"));
                        mattr.UIIsEnable = true;
                        mattr.UIVisible  = true;
                        if (mattr.LGType == FieldTypeS.Enum)
                        {
                            mattr.DefVal = "0";
                        }
                        mattr.Insert();
                    }
                    else
                    {
                        mattr.Update();
                    }

                    switch (mattr.LGType)
                    {
                    case BP.En.FieldTypeS.Enum:
                        this.Response.Redirect("EditEnum.aspx?MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK, true);
                        return;

                    case BP.En.FieldTypeS.Normal:
                        this.Response.Redirect("EditF.aspx?DoType=Edit&MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK + "&FType=" + mattr.MyDataType + "&GroupField=0", true);
                        return;

                    case BP.En.FieldTypeS.FK:
                        this.Response.Redirect("EditTable.aspx?DoType=Edit&MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK + "&FType=" + mattr.MyDataType + "&GroupField=0", true);
                        return;

                    default:
                        break;
                    }
                    break;

                case "DobackToF":
                    MapAttr ma = new MapAttr(this.RefNo);
                    switch (ma.LGType)
                    {
                    case FieldTypeS.Normal:
                        this.Response.Redirect("EditF.aspx?RefNo=" + this.RefNo, true);
                        return;

                    case FieldTypeS.FK:
                        this.Response.Redirect("EditTable.aspx?RefNo=" + this.RefNo, true);
                        return;

                    case FieldTypeS.Enum:
                        this.Response.Redirect("EditEnum.aspx?RefNo=" + this.RefNo, true);
                        return;

                    default:
                        return;
                    }
                    break;

                case "AddEnum":
                    SysEnumMain sem1    = new SysEnumMain(this.Request.QueryString["EnumKey"]);
                    MapAttr     attrAdd = new MapAttr();
                    attrAdd.KeyOfEn = sem1.No;
                    if (attrAdd.IsExit(MapAttrAttr.FK_MapData, this.MyPK, MapAttrAttr.KeyOfEn, sem1.No))
                    {
                        BP.Sys.PubClass.Alert("字段已经存在 [" + sem1.No + "]。");
                        BP.Sys.PubClass.WinClose();
                        return;
                    }

                    attrAdd.FK_MapData    = this.MyPK;
                    attrAdd.Name          = sem1.Name;
                    attrAdd.UIContralType = UIContralType.DDL;
                    attrAdd.UIBindKey     = sem1.No;
                    attrAdd.MyDataType    = BP.DA.DataType.AppInt;
                    attrAdd.LGType        = FieldTypeS.Enum;
                    attrAdd.DefVal        = "0";
                    attrAdd.UIIsEnable    = true;
                    if (this.Idx == null || this.Idx == "")
                    {
                        MapAttrs attrs1 = new MapAttrs(this.MyPK);
                        attrAdd.Idx = 0;
                    }
                    else
                    {
                        attrAdd.Idx = int.Parse(this.Idx);
                    }
                    attrAdd.Insert();
                    this.Response.Redirect("EditEnum.aspx?MyPK=" + this.MyPK + "&RefNo=" + attrAdd.MyPK, true);
                    this.WinClose();
                    return;

                case "DelEnum":
                    string      eKey = this.Request.QueryString["EnumKey"];
                    SysEnumMain sem  = new SysEnumMain();
                    sem.No = eKey;
                    sem.Delete();
                    this.WinClose();
                    return;

                case "AddSysEnum":
                    this.AddFEnum();
                    break;

                case "AddSFTable":
                    this.AddSFTable();
                    break;

                case "AddSFTableAttr":
                    SFTable sf = new SFTable(this.Request.QueryString["RefNo"]);
                    this.Response.Redirect("EditTable.aspx?MyPK=" + this.MyPK + "&SFKey=" + sf.No, true);
                    this.WinClose();
                    return;

                case "AddFG":     /*执行一个插入列组的命令.*/
                    switch (this.RefNo)
                    {
                    case "IsPass":
                        MapDtl dtl = new MapDtl(this.FK_MapData);
                        dtl.IsEnablePass = true;         /*更新是否启动审核分组字段.*/
                        MapAttr attr = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "Check_Note";
                        attr.Name          = "审核意见";
                        attr.MyDataType    = DataType.AppString;
                        attr.UIContralType = UIContralType.TB;
                        attr.DefVal        = "同意";
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = true;
                        attr.MaxLen        = 4000;
                        attr.ColSpan       = 4;   // 默认为4列。
                        attr.Idx           = 1;
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "Checker";
                        attr.Name          = "审核人";// "审核人";
                        attr.MyDataType    = DataType.AppString;
                        attr.UIContralType = UIContralType.TB;
                        attr.MaxLen        = 50;
                        attr.MinLen        = 0;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.DefVal        = "@WebUser.Name";
                        attr.UIIsEnable    = false;
                        attr.IsSigan       = true;
                        attr.Idx           = 2;
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "IsPass";
                        attr.Name          = "通过否?";// "审核人";
                        attr.MyDataType    = DataType.AppBoolean;
                        attr.UIContralType = UIContralType.CheckBok;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.UIIsEnable    = false;
                        attr.IsSigan       = true;
                        attr.DefVal        = "1";
                        attr.Idx           = 2;
                        attr.DefVal        = "0";
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "Check_RDT";
                        attr.Name          = "审核日期"; // "审核日期";
                        attr.MyDataType    = DataType.AppDateTime;
                        attr.UIContralType = UIContralType.TB;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.DefVal        = "@RDT";
                        attr.UIIsEnable    = false;
                        attr.Idx           = 3;
                        attr.Insert();

                        /* 处理批次ID*/
                        attr            = new MapAttr();
                        attr.FK_MapData = this.FK_MapData;
                        attr.KeyOfEn    = "BatchID";
                        attr.Name       = "BatchID";  // this.ToE("IsPass", "是否通过");// "审核人";
                        attr.MyDataType = DataType.AppInt;
                        attr.UIIsEnable = false;
                        attr.UIIsLine   = false;
                        attr.UIIsEnable = false;
                        attr.UIVisible  = false;
                        attr.Idx        = 2;
                        attr.DefVal     = "0";
                        attr.Insert();

                        dtl.Update();
                        this.WinClose();
                        return;

                    case "Eval":         /* 质量评价 */
                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "EvalEmpNo";
                        attr.Name          = "被评价人员编号";
                        attr.MyDataType    = DataType.AppString;
                        attr.UIContralType = UIContralType.TB;
                        attr.MaxLen        = 50;
                        attr.MinLen        = 0;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.UIIsEnable    = false;
                        attr.IsSigan       = true;
                        attr.Idx           = 1;
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "EvalEmpName";
                        attr.Name          = "被评价人员名称";
                        attr.MyDataType    = DataType.AppString;
                        attr.UIContralType = UIContralType.TB;
                        attr.MaxLen        = 50;
                        attr.MinLen        = 0;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.UIIsEnable    = false;
                        attr.IsSigan       = true;
                        attr.Idx           = 2;
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "EvalCent";
                        attr.Name          = "工作得分";
                        attr.MyDataType    = DataType.AppFloat;
                        attr.UIContralType = UIContralType.TB;
                        attr.MaxLen        = 50;
                        attr.MinLen        = 0;
                        attr.UIIsEnable    = true;
                        attr.UIIsLine      = false;
                        attr.UIIsEnable    = true;
                        attr.Idx           = 3;
                        attr.Insert();

                        attr               = new MapAttr();
                        attr.FK_MapData    = this.FK_MapData;
                        attr.KeyOfEn       = "EvalNote";
                        attr.Name          = "评价信息";
                        attr.MyDataType    = DataType.AppString;
                        attr.UIContralType = UIContralType.TB;
                        attr.MaxLen        = 50;
                        attr.MinLen        = 0;
                        attr.UIIsEnable    = true;
                        attr.UIIsEnable    = true;
                        attr.Idx           = 4;
                        attr.Insert();
                        this.WinClose();
                        return;

                    default:
                        break;
                    }
                    break;

                case "AddFGroup":
                    this.AddFGroup();
                    return;

                case "AddF":
                case "ChoseFType":
                    this.AddF();
                    break;

                case "Up":
                    MapAttr attrU = new MapAttr(this.RefNo);
                    if (this.Request.QueryString["IsDtl"] != null)
                    {
                        attrU.DoDtlUp();
                    }
                    else
                    {
                        attrU.DoUp();
                    }

                    this.WinClose();
                    break;

                case "Down":     //让一个字段下移动.
                    MapAttr attrD = new MapAttr(this.RefNo);
                    attrD.DoDown();
                    this.WinClose();
                    break;

                case "DownAttr":     //让一个字段下移动.
                    MapAttr attrAttr = new MapAttr(this.RefNo);
                    attrAttr.DoDtlDown();
                    this.WinClose();
                    break;

                case "Jump":
                    MapAttr attrFrom = new MapAttr(this.Request.QueryString["FromID"]);
                    MapAttr attrTo   = new MapAttr(this.Request.QueryString["ToID"]);
                    attrFrom.DoJump(attrTo);
                    this.WinClose();
                    break;

                case "MoveTo":
                    string  toID     = this.Request.QueryString["ToID"];
                    int     toGFID   = int.Parse(this.Request.QueryString["ToGID"]);
                    int     fromGID  = int.Parse(this.Request.QueryString["FromGID"]);
                    string  fromID   = this.Request.QueryString["FromID"];
                    MapAttr fromAttr = new MapAttr();
                    fromAttr.MyPK = fromID;
                    fromAttr.Retrieve();
                    if (toGFID == fromAttr.GroupID && fromAttr.MyPK == toID)
                    {
                        /* 如果没有移动. */
                        this.WinClose();
                        return;
                    }
                    if (toGFID != fromAttr.GroupID && fromAttr.MyPK == toID)
                    {
                        MapAttr toAttr = new MapAttr(toID);
                        fromAttr.Update(MapAttrAttr.GroupID, toAttr.GroupID, MapAttrAttr.Idx, toAttr.Idx);
                        this.WinClose();
                        return;
                    }
                    this.Response.Redirect(this.Request.RawUrl.Replace("MoveTo", "Jump"), true);
                    return;

                case "Edit":
                    Edit();
                    break;

                case "Del":
                    MapAttr attrDel = new MapAttr();
                    attrDel.MyPK = this.RefNo;
                    attrDel.Delete();
                    this.WinClose();
                    break;

                case "GFDoUp":
                    GroupField gf = new GroupField(this.RefOID);
                    gf.DoUp();
                    gf.Retrieve();
                    if (gf.Idx == 0)
                    {
                        this.WinClose();
                        return;
                    }
                    int oidIdx = gf.Idx;
                    gf.Idx = gf.Idx - 1;
                    GroupField gfUp = new GroupField();
                    if (gfUp.Retrieve(GroupFieldAttr.EnName, gf.EnName, GroupFieldAttr.Idx, gf.Idx) == 1)
                    {
                        gfUp.Idx = oidIdx;
                        gfUp.Update();
                    }
                    gf.Update();
                    this.WinClose();
                    break;

                case "GFDoDown":
                    GroupField mygf = new GroupField(this.RefOID);
                    mygf.DoDown();
                    mygf.Retrieve();
                    int oidIdx1 = mygf.Idx;
                    mygf.Idx = mygf.Idx + 1;
                    GroupField gfDown = new GroupField();
                    if (gfDown.Retrieve(GroupFieldAttr.EnName, mygf.EnName, GroupFieldAttr.Idx, mygf.Idx) == 1)
                    {
                        gfDown.Idx = oidIdx1;
                        gfDown.Update();
                    }
                    mygf.Update();
                    this.WinClose();
                    break;

                case "AthDoUp":
                    FrmAttachment frmAth = new FrmAttachment(this.MyPK);
                    if (frmAth.RowIdx > 0)
                    {
                        frmAth.RowIdx = frmAth.RowIdx - 1;
                        frmAth.Update();
                    }
                    this.WinClose();
                    break;

                case "AthDoDown":
                    FrmAttachment frmAthD = new FrmAttachment(this.MyPK);
                    if (frmAthD.RowIdx < 10)
                    {
                        frmAthD.RowIdx = frmAthD.RowIdx + 1;
                        frmAthD.Update();
                    }
                    this.WinClose();
                    break;

                case "DtlDoUp":
                    MapDtl dtl1 = new MapDtl(this.MyPK);
                    if (dtl1.RowIdx > 0)
                    {
                        dtl1.RowIdx = dtl1.RowIdx - 1;
                        dtl1.Update();
                    }
                    this.WinClose();
                    break;

                case "DtlDoDown":
                    MapDtl dtl2 = new MapDtl(this.MyPK);
                    if (dtl2.RowIdx < 10)
                    {
                        dtl2.RowIdx = dtl2.RowIdx + 1;
                        dtl2.Update();
                    }
                    this.WinClose();
                    break;

                case "M2MDoUp":
                    MapM2M ddtl1 = new MapM2M(this.MyPK);
                    if (ddtl1.RowIdx > 0)
                    {
                        ddtl1.RowIdx = ddtl1.RowIdx - 1;
                        ddtl1.Update();
                    }
                    this.WinClose();
                    break;

                case "M2MDoDown":
                    MapM2M ddtl2 = new MapM2M(this.MyPK);
                    if (ddtl2.RowIdx < 10)
                    {
                        ddtl2.RowIdx = ddtl2.RowIdx + 1;
                        ddtl2.Update();
                    }
                    this.WinClose();
                    break;

                case "FrameDoUp":
                    MapFrame frame1 = new MapFrame(this.MyPK);
                    if (frame1.RowIdx > 0)
                    {
                        frame1.RowIdx = frame1.RowIdx - 1;
                        frame1.Update();
                    }
                    this.WinClose();
                    break;

                case "FrameDoDown":
                    MapFrame frame2 = new MapFrame(this.MyPK);
                    if (frame2.RowIdx < 10)
                    {
                        frame2.RowIdx = frame2.RowIdx + 1;
                        frame2.Update();
                    }
                    this.WinClose();
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                this.Pub1.AddMsgOfWarning("错误:", ex.Message + " <br>" + this.Request.RawUrl);
            }
        }
Пример #9
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                Button btn = sender as Button;
                switch (btn.ID)
                {
                case "Btn_Del":
                    MapAttr attrDel = new MapAttr();
                    attrDel.MyPK = this.RefNo;
                    attrDel.Delete();
                    this.WinClose();
                    return;

                default:
                    break;
                }

                MapAttr attr = new MapAttr();
                attr.MyPK = this.RefNo;
                if (this.RefNo != null)
                {
                    attr.Retrieve();
                }
                attr            = (MapAttr)this.Pub1.Copy(attr);
                attr.FK_MapData = this.MyPK;
                attr.DefVal     = this.Pub1.GetDDLByID("DDL").SelectedItemStringVal;
                attr.GroupID    = this.Pub1.GetDDLByID("DDL_GroupID").SelectedItemIntVal;
                attr.ColSpan    = this.Pub1.GetDDLByID("DDL_ColSpan").SelectedItemIntVal;

                if (this.Pub1.GetRadioButtonByID("RB_Ctrl_0").Checked)
                {
                    attr.UIContralType = UIContralType.DDL;
                }
                else
                {
                    attr.UIContralType = UIContralType.RadioBtn;
                }

                if (this.RefNo == null)
                {
                    attr.MyPK = this.MyPK + "_" + this.Pub1.GetTBByID("TB_KeyOfEn").Text;
                    string idx = this.Request.QueryString["IDX"];
                    if (idx == null || idx == "")
                    {
                    }
                    else
                    {
                        attr.Idx = int.Parse(this.Request.QueryString["IDX"]);
                    }

                    string enumKey = this.Request.QueryString["EnumKey"];
                    attr.UIBindKey   = enumKey;
                    attr.MyDataType  = BP.DA.DataType.AppInt;
                    attr.HisEditType = EditType.Edit;

                    attr.UIContralType = UIContralType.DDL;
                    attr.LGType        = FieldTypeS.Enum;
                    attr.Insert();
                }
                else
                {
                    attr.Update();
                }

                switch (btn.ID)
                {
                case "Btn_SaveAndClose":
                    this.WinClose();
                    return;

                case "Btn_SaveAndNew":
                    this.Response.Redirect("Do.aspx?DoType=AddF&MyPK=" + this.MyPK + "&IDX=" + attr.Idx + "&GroupField=" + this.GroupField, true);
                    return;

                default:
                    break;
                }
                if (this.RefNo == null)
                {
                    this.Response.Redirect("EditEnum.aspx?DoType=Edit&MyPK=" + this.MyPK + "&RefNo=" + attr.MyPK + "&GroupField=" + this.GroupField, true);
                }
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
Пример #10
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                Button btn = sender as Button;
                switch (btn.ID)
                {
                case "Btn_Del":
                    MapAttr attrDel = new MapAttr();
                    attrDel.MyPK = this.RefNo;
                    attrDel.Delete();
                    this.WinClose();
                    return;

                default:
                    break;
                }

                MapAttr attr = new MapAttr();
                if (this.RefNo == null || this.RefNo == "")
                {
                    attr.MyPK          = this.MyPK + "_" + this.Pub1.GetTBByID("TB_KeyOfEn").Text;
                    attr.KeyOfEn       = this.Pub1.GetTBByID("TB_KeyOfEn").Text;
                    attr.UIContralType = UIContralType.DDL;
                    attr.MyDataType    = BP.DA.DataType.AppString;
                    attr.LGType        = FieldTypeS.Normal;
                    attr.DefVal        = "";
                    attr.UIBindKey     = this.Request.QueryString["SFKey"];
                    attr.UIIsEnable    = true;
                    if (attr.IsExits == true)
                    {
                        throw new Exception("@字段名[" + attr.KeyOfEn + "]已经存在,保存失败。");
                    }

                    attr = (MapAttr)this.Pub1.Copy(attr);
                }
                else
                {
                    attr.MyPK = this.RefNo;
                    attr.Retrieve();
                    attr = (MapAttr)this.Pub1.Copy(attr);
                }

                attr.FK_MapData = this.MyPK;
                attr.GroupID    = this.Pub1.GetDDLByID("DDL_GroupID").SelectedItemIntVal;
                attr.ColSpan    = this.Pub1.GetDDLByID("DDL_ColSpan").SelectedItemIntVal;
                attr.DefVal     = this.Pub1.GetTBByID("TB_DefVal").Text;
                attr.UIBindKey  = this.Pub1.GetTBByID("TB_UIBindKey").Text;

                string field = attr.KeyOfEn;
                if (this.RefNo == null || this.RefNo == "")
                {
                    attr.Insert(); //首先插入数据表现数据.

                    //插入隐藏数据.
                    attr.KeyOfEn    = field + "T";
                    attr.UIVisible  = false;
                    attr.UIIsEnable = false; //让其不是隐藏字段.
                    attr.Insert();

                    //还原以前的值.
                    attr.KeyOfEn   = field;
                    attr.MyPK      = this.MyPK + "_" + field;
                    attr.UIVisible = true;
                }
                else
                {
                    attr.Update();
                }

                switch (btn.ID)
                {
                case "Btn_SaveAndClose":
                    this.WinClose();
                    return;

                case "Btn_SaveAndNew":
                    this.Response.Redirect("Do.aspx?DoType=AddF&MyPK=" + this.MyPK + "&IDX=" + attr.Idx + "&GroupField=" + this.GroupField, true);
                    return;

                default:
                    break;
                }
                this.Response.Redirect("EditSQL.aspx?DoType=Edit&MyPK=" + this.MyPK + "&RefNo=" + attr.MyPK + "&GroupField=" + this.GroupField, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }