void btn_Click(object sender, EventArgs e) { GroupField en = new GroupField(this.RefOID); en.Lab = this.Pub1.GetTBByID("TB_Lab_" + en.OID).Text; en.Update(); Btn btn = sender as Btn; switch (btn.ID) { case "Btn_SaveAndClose": this.WinClose(); break; case "Btn_NewField": this.Session["GroupField"] = this.RefOID; this.Response.Redirect("Do.aspx?DoType=AddF&MyPK=" + this.RefNo + "&GroupField=" + this.RefOID, true); break; case "Btn_CopyField": this.Response.Redirect("CopyFieldFromNode.aspx?FK_Node=" + this.RefNo + "&GroupField=" + this.RefOID, true); break; default: this.Response.Redirect("GroupField.aspx?RefNo=" + this.RefNo + "&RefOID=" + this.RefOID, true); break; } }
protected override bool beforeUpdate() { MapDtl dtl = new MapDtl(this.No); //启用审核 dtl.IsEnablePass = this.IsEnablePass; //超链接 dtl.IsEnableLink = this.IsEnableLink; dtl.LinkLabel = this.LinkLabel; dtl.LinkUrl = this.LinkUrl; dtl.LinkTarget = this.LinkTarget; dtl.Update(); //获得事件实体. var febd = BP.Sys.Glo.GetFormDtlEventBaseByEnName(this.No); if (febd == null) { this.FEBD = ""; } else { this.FEBD = febd.ToString(); } #region 检查填充的SQL是否符合要求. #endregion //更新分组标签. @fanleiwei. 代码有变化. BP.Sys.GroupField gf = new GroupField(); int i = gf.Retrieve(GroupFieldAttr.CtrlType, "Dtl", GroupFieldAttr.CtrlID, this.No); if (i == 0) { gf.CtrlID = this.No; gf.CtrlType = "Dtl"; gf.FrmID = this.FK_MapData; gf.Insert(); } if (i > 1) { gf.Delete(); i = gf.Retrieve(GroupFieldAttr.CtrlType, "Dtl", GroupFieldAttr.CtrlID, this.No); } if (i == 1 && gf.Lab.Equals(this.Name) == false) { gf.Lab = this.Name; gf.Update(); } return(base.beforeUpdate()); }
protected override bool beforeUpdateInsertAction() { if (this.FK_Node == 0) { //适应设计器新的规则 by dgq if (!DataType.IsNullOrEmpty(this.NoOfObj) && this.NoOfObj.Contains(this.FK_MapData)) { this.MyPK = this.NoOfObj; } else { this.MyPK = this.FK_MapData + "_" + this.NoOfObj; } } else { this.MyPK = this.FK_MapData + "_" + this.NoOfObj + "_" + this.FK_Node; } #region 处理分组. //更新相关的分组信息. if (this.IsVisable == true) { GroupField gf = new GroupField(); int i = gf.Retrieve(GroupFieldAttr.FrmID, this.FK_MapData, GroupFieldAttr.CtrlID, this.MyPK); if (i == 0) { gf.Lab = this.Name; gf.FrmID = this.FK_MapData; gf.CtrlType = "Ath"; //gf.CtrlID = this.MyPK; gf.Insert(); } else { gf.Lab = this.Name; gf.FrmID = this.FK_MapData; gf.CtrlType = "Ath"; //gf.CtrlID = this.MyPK; gf.Update(); } } if (this.IsVisable == false) { GroupField gf = new GroupField(); gf.Delete(GroupFieldAttr.FrmID, this.FK_MapData, GroupFieldAttr.CtrlID, this.MyPK); } #endregion 处理分组. return(base.beforeUpdateInsertAction()); }
protected override bool beforeUpdateInsertAction() { int val = this.GetValIntByKey(MapFrameAttr.UrlSrcType, 0); if (val == 1) { string sql = "SELECT Url FROM Sys_MapData WHERE No='" + this.GetValStrByKey(MapFrameAttr.FrmID) + "'"; string url = DBAccess.RunSQLReturnStringIsNull(sql, ""); this.SetValByKey(MapFrameAttr.URL, url); } //更新group. GroupField gf = new GroupField(); int i = gf.Retrieve(GroupFieldAttr.FrmID, this.FK_MapData, GroupFieldAttr.CtrlID, this.MyPK); if (i == 1) { gf.Lab = this.Name; gf.Update(); } return(base.beforeUpdateInsertAction()); }
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); } }
protected void Page_Load(object sender, EventArgs e) { this.Title = "流程报表定义"; switch (this.DoType) { case "Reset": BP.WF.Flow fl = new BP.WF.Flow(this.FK_Flow); fl.CheckRptOfReset(); this.Response.Redirect("WFRpt.aspx?FK_MapData=" + this.FK_MapData, true); return; default: break; } Cash.Map_Cash.Remove(this.FK_MapData); MapData md = new MapData(this.FK_MapData); MapAttrs mattrs = new MapAttrs(md.No); int count = mattrs.Count; if (mattrs.Count == 0) { BP.WF.Flow f = new BP.WF.Flow(this.FK_Flow); f.CheckRpt(); this.Response.Redirect(this.Request.RawUrl, true); return; } if (gfs.Count == 1) { GroupField mygf = (GroupField)gfs[0]; if (mygf.Lab != md.Name) { mygf.Lab = md.Name; mygf.Update(); } } this.Pub1.AddB(this.Title + " <a href=\"javascript:GroupFieldNew('" + md.No + "')\">字段分组</a>"); // this.Pub1.AddB("-<a href=\"javascript:WinOpen('/WF/Comm/Search.aspx?EnsName=" + this.MyPK + "')\">查询预览</a>"); // this.Pub1.AddB("-<a href=\"javascript:WinOpen('/WF/Comm/Group.aspx?EnsName=" + this.MyPK + "')\">分析预览</a>"); if (this.FK_MapData.Contains("RptDtl") == false) { this.Pub1.AddB("-<a href=\"javascript:DoReset('" + this.FK_Flow + "','" + this.FK_MapData + "')\">重设字段</a>"); /* 说明是主表:判断它是否有从表。*/ string sql = "SELECT COUNT(No) FROM Sys_MapDtl WHERE No LIKE 'ND" + int.Parse(this.FK_Flow) + "%'"; if (BP.DA.DBAccess.RunSQLReturnValInt(sql) >= 1) { // this.Pub1.AddB("-<a href=\"javascript:AddDtl('" + md.No + "')\">插入从表</a>"); //sql = "SELECT No FROM Sys_MapData WHERE No LIKE '" + this.MyPK + "Dtl%'"; //DataTable dt = BP.DA.DBAccess.RunSQLReturnTable(sql); //switch (dt.Rows.Count) //{ // case 0: // break; // case 1: // this.Pub1.AddB("-<a href='WFRpt.aspx?MyPK=" + dt.Rows[0][0].ToString() + "'>明细报表设计</a>"); // break; // default: // this.Pub1.AddB("-<a href='WFRpt.aspx?DoType=DeDtl&MyPK=" + this.MyPK + "'>明细报表设计</a>"); // break; //} } } else { this.Pub1.AddB("-<a href=\"WFRpt.aspx?MyPK=ND" + int.Parse(this.FK_Flow) + "Rpt\">" + "返回" + "</a>"); } this.Pub1.AddHR(); this.Pub1.AddTable("width='100%'"); /* * 根据 GroupField 循环出现菜单。 */ foreach (GroupField gf in gfs) { string gfAttr = " onmouseover=GFOnMouseOver('" + gf.OID + "','" + rowIdx + "') onmouseout=GFOnMouseOut()"; currGF = gf; this.Pub1.AddTR(gfAttr); if (gfs.Count == 1) { this.Pub1.AddTD("colspan=4 class=GroupField valign='top' align:left style='height: 24px;align:left' ", "<div style='text-align:left; float:left'> <a href=\"javascript:GroupField('" + this.FK_MapData + "','" + gf.OID + "')\" >" + gf.Lab + "</a></div><div style='text-align:right; float:right'></div>"); } else { this.Pub1.AddTD("colspan=4 class=GroupField valign='top' align:left style='height: 24px;align:left' onclick=\"GroupBarClick('" + gf.Idx + "')\" ", "<div style='text-align:left; float:left'><img src='../Style/Min.gif' alert='Min' id='Img" + gf.Idx + "' border=0 /> <a href=\"javascript:GroupField('" + this.FK_MapData + "','" + gf.OID + "')\" >" + gf.Lab + "</a></div><div style='text-align:right; float:right'> <a href=\"javascript:GFDoUp('" + gf.OID + "')\" ><img src='./WF/Img/Btn/Up.gif' class='Arrow' border=0/></a> <a href=\"javascript:GFDoDown('" + gf.OID + "')\" ><img src='./WF/Img/Btn/Down.gif' class='Arrow' border=0/></a></div>"); } this.Pub1.AddTREnd(); int i = -1; int idx = -1; isLeftNext = true; rowIdx = 0; foreach (MapAttr attr in mattrs) { gfAttr = " onmouseover=GFOnMouseOver('" + gf.OID + "','" + rowIdx + "') onmouseout=GFOnMouseOut()"; if (attr.GroupID == 0) { attr.GroupID = gf.OID; attr.Update(); } if (attr.GroupID != gf.OID) { if (gf.Idx == 0 && attr.GroupID == 0) { } else { continue; } } if (attr.HisAttr.IsRefAttr || attr.UIVisible == false) { continue; } if (isLeftNext) { if (gfs.Count == 0) { this.InsertObjects(false); } else { this.InsertObjects(true); } } // 显示的顺序号. idx++; if (attr.IsBigDoc && attr.UIIsLine) { if (isLeftNext == false) { this.Pub1.AddTD(); this.Pub1.AddTD(); this.Pub1.AddTREnd(); } rowIdx++; this.Pub1.AddTR(" ID='" + currGF.Idx + "_" + rowIdx + "' " + gfAttr); this.Pub1.Add("<TD class=FDesc colspan=4 width='100%' >"); this.Pub1.Add(this.GenerLab(attr, idx, 0, count)); TextBox mytbLine = new TextBox(); mytbLine.ID = "TB_" + attr.KeyOfEn; mytbLine.TextMode = TextBoxMode.MultiLine; mytbLine.Rows = 8; mytbLine.Attributes["style"] = "width:100%;padding: 0px;margin: 0px;"; mytbLine.Enabled = attr.UIIsEnable; if (mytbLine.Enabled == false) { mytbLine.Attributes["class"] = "TBReadonly"; } this.Pub1.Add(mytbLine); this.Pub1.AddTDEnd(); this.Pub1.AddTREnd(); isLeftNext = true; continue; } if (attr.IsBigDoc) { if (isLeftNext) { rowIdx++; this.Pub1.AddTR(" ID='" + currGF.Idx + "_" + rowIdx + "' " + gfAttr); } this.Pub1.Add("<TD class=FDesc colspan=2 width='50%' >"); this.Pub1.Add(this.GenerLab(attr, idx, 0, count)); TextBox mytbLine = new TextBox(); mytbLine.TextMode = TextBoxMode.MultiLine; mytbLine.Rows = 8; mytbLine.Attributes["style"] = "width:100%;padding: 0px;margin: 0px;"; mytbLine.ID = "TB_" + attr.KeyOfEn; mytbLine.Enabled = attr.UIIsEnable; if (mytbLine.Enabled == false) { mytbLine.Attributes["class"] = "TBReadonly"; } this.Pub1.Add(mytbLine); this.Pub1.AddTDEnd(); if (isLeftNext == false) { this.Pub1.AddTREnd(); } isLeftNext = !isLeftNext; continue; } //计算 colspanOfCtl . int colspanOfCtl = 1; if (attr.UIIsLine) { colspanOfCtl = 3; } if (attr.UIIsLine) { if (isLeftNext == false) { this.Pub1.AddTD(); this.Pub1.AddTD(); this.Pub1.AddTREnd(); } isLeftNext = true; } if (isLeftNext) { rowIdx++; this.Pub1.AddTR(" ID='" + currGF.Idx + "_" + rowIdx + "' " + gfAttr); } TB tb = new TB(); tb.Attributes["width"] = "100%"; tb.Columns = 60; tb.ID = "TB_" + attr.KeyOfEn; #region add contrals. switch (attr.LGType) { case FieldTypeS.Normal: tb.Enabled = attr.UIIsEnable; switch (attr.MyDataType) { case BP.DA.DataType.AppString: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); tb.ShowType = TBType.TB; tb.Text = attr.DefVal; if (colspanOfCtl == 3) { this.Pub1.AddTD(" width=80% colspan=" + colspanOfCtl, tb); } else { if (attr.IsSigan) { this.Pub1.AddTD("colspan=" + colspanOfCtl, "<img src='/DataUser/Siganture/" + WebUser.No + ".jpg' border=0 onerror=\"this.src='/DataUser/Siganture/UnName.jpg'\"/>"); } else { this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, tb); } } break; case BP.DA.DataType.AppDate: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); tb.ShowType = TBType.Date; tb.Text = attr.DefVal; if (attr.UIIsEnable) { tb.Attributes["onfocus"] = "WdatePicker();"; } this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, tb); break; case BP.DA.DataType.AppDateTime: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); tb.ShowType = TBType.DateTime; tb.Text = attr.DefVal; if (attr.UIIsEnable) { tb.Attributes["onfocus"] = "WdatePicker({dateFmt:'yyyy-MM-dd HH:mm'});"; } this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, tb); break; case BP.DA.DataType.AppBoolean: if (attr.UIIsLine) { this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); } else { this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); } CheckBox cb = new CheckBox(); cb.Text = attr.Name; cb.Checked = attr.DefValOfBool; cb.Enabled = attr.UIIsEnable; this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, cb); break; case BP.DA.DataType.AppDouble: case BP.DA.DataType.AppFloat: case BP.DA.DataType.AppInt: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); tb.ShowType = TBType.Num; tb.Text = attr.DefVal; this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, tb); break; case BP.DA.DataType.AppMoney: case BP.DA.DataType.AppRate: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); tb.ShowType = TBType.Moneny; tb.Text = attr.DefVal; this.Pub1.AddTD("width='40%' colspan=" + colspanOfCtl, tb); break; default: break; } tb.Attributes["width"] = "100%"; switch (attr.MyDataType) { case BP.DA.DataType.AppString: case BP.DA.DataType.AppDateTime: case BP.DA.DataType.AppDate: if (tb.Enabled) { tb.Attributes["class"] = "TB"; } else { tb.Attributes["class"] = "TBReadonly"; } break; default: if (tb.Enabled) { tb.Attributes["class"] = "TBNum"; } else { tb.Attributes["class"] = "TBNumReadonly"; } break; } break; case FieldTypeS.Enum: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); DDL ddle = new DDL(); ddle.ID = "DDL_" + attr.KeyOfEn; ddle.BindSysEnum(attr.KeyOfEn); ddle.SetSelectItem(attr.DefVal); ddle.Enabled = attr.UIIsEnable; this.Pub1.AddTD("colspan=" + colspanOfCtl, ddle); break; case FieldTypeS.FK: this.Pub1.AddTDDesc(this.GenerLab(attr, idx, i, count)); DDL ddl1 = new DDL(); ddl1.ID = "DDL_" + attr.KeyOfEn; try { EntitiesNoName ens = attr.HisEntitiesNoName; ens.RetrieveAll(); ddl1.BindEntities(ens); ddl1.SetSelectItem(attr.DefVal); } catch { } ddl1.Enabled = attr.UIIsEnable; this.Pub1.AddTD("colspan=" + colspanOfCtl, ddl1); break; default: break; } #endregion add contrals. if (colspanOfCtl == 3) { isLeftNext = true; this.Pub1.AddTREnd(); continue; } if (isLeftNext == false) { isLeftNext = true; this.Pub1.AddTREnd(); continue; } isLeftNext = false; } // 最后处理补充上它。 if (isLeftNext == false) { this.Pub1.AddTD(); this.Pub1.AddTD(); this.Pub1.AddTREnd(); } this.InsertObjects(false); } this.Pub1.AddTableEnd(); #region 处理异常情况。 foreach (MapDtl dtl in dtls) { if (dtl.IsUse == false) { dtl.RowIdx = 0; dtl.GroupID = 0; dtl.Update(); // this.Response.Redirect(this.Request.RawUrl, true); } } #endregion 处理异常情况。 #region 处理iFrom 的自适应的问题。 string js = "\t\n<script type='text/javascript' >"; foreach (MapDtl dtl in dtls) { js += "\t\n window.setInterval(\"ReinitIframe('F" + dtl.No + "','TD" + dtl.No + "')\", 200);"; } js += "\t\n</script>"; this.Pub1.Add(js); #endregion 处理iFrom 的自适应的问题。 #region 处理隐藏字段。 string msg = ""; // +++++++ 编辑隐藏字段 +++++++++ <br>"; foreach (MapAttr attr in mattrs) { if (attr.UIVisible) { continue; } switch (attr.KeyOfEn) { case "OID": case "FID": case "FK_NY": case "Emps": case "FK_Dept": case "WFState": case "RDT": case "MyNum": case "Rec": case "CDT": continue; default: break; } msg += "<a href=\"javascript:Edit('" + this.FK_MapData + "','" + attr.MyPK + "','" + attr.MyDataType + "');\">" + attr.Name + "</a> "; } if (msg.Length > 10) { this.Pub1.AddFieldSet("编辑隐藏字段"); this.Pub1.Add(msg); this.Pub1.Add("<br>说明:隐藏字段是不显示在表单里面,多用于属性的计算、方向条件的设置,报表的体现。"); this.Pub1.AddFieldSetEnd(); } #endregion 处理隐藏字段。 #region 查询条件定义 this.Pub1.AddFieldSet("查询条件定义" + " - <a href=\"javascript:WinOpen('../Rpt/Search.aspx?FK_Flow=" + this.FK_Flow + "')\">查询预览</a>-<a href=\"javascript:WinOpen('/WF/Comm/Group.aspx?EnsName=" + this.MyPK + "')\">分析预览</a>"); foreach (MapAttr mattr in mattrs) { if (mattr.UIContralType != UIContralType.DDL) { continue; } CheckBox cb = new CheckBox(); cb.ID = "CB_F_" + mattr.KeyOfEn; if (md.RptSearchKeys.Contains("@" + mattr.KeyOfEn)) { cb.Checked = true; } cb.Text = mattr.Name; this.Pub1.Add(cb); } this.Pub1.AddHR(); Button btn = new Button(); btn.CssClass = "Btn"; btn.Text = "保存"; btn.ID = "Btn_Save"; btn.Click += new EventHandler(btn_Click); this.Pub1.Add(btn); this.Pub1.AddFieldSetEnd(); #endregion }