<%@ WebHandler Language="C#" Class="DataShow" %> using System; using System.Collections.Generic; using System.Web; using System.Data; using System.Data.Common; using System.Web.SessionState; using System.Text; using eMIS; public class DataShow : IHttpHandler , IRequiresSessionState { private int fixedcolumns=0; private int displaySubprogramCount = 0; private int openSubprogramCount = 0; private int elementsCount = 0; private int subProgramCount = 0; private string joinCellJs = ""; private int headMaxRow = 0; private int headMaxCel = 0; public void ProcessRequest (HttpContext context) { if (context.Session["userid"] == null) { LoginManager lm = new LoginManager(context); if (!lm.VerifyIdentity()) { context.Response.Write("会话丢失,请重新登陆!"); context.Response.End(); } } string wwwroot = context.Request.ApplicationPath; string menuId = context.Request.QueryString["mid"].ToString(); string recordId = context.Request.QueryString["rid"].ToString(); string currId = context.Request.QueryString["sid"].ToString(); string userId = context.Session["userid"].ToString(); string rand = DateTime.Now.Ticks.ToString(); if (wwwroot == "/") wwwroot = ""; string ver = "2019108"; string ThemePath = wwwroot + "/Themes/" + context.Session["theme"].ToString(); string buttonGroupId = (context.Request.QueryString["bgid"] == null ? "" : context.Request.QueryString["bgid"].ToString()); DataManager sysData = new DataManager(); sysData.Operator.OpenConnection(); InstanceManager instManager = new InstanceManager(context,sysData,menuId); string programId = instManager.ProgramID; ProgramManager pm = instManager.Program; DataTable listElements = pm.ListElements; DataRow businessDataRow = null; TagManager tagManger = new TagManager(); tagManger.Context = context; elementsCount = listElements.Rows.Count; subProgramCount = pm.Subprograms.Rows.Count; int i,l,j,k,ii; string s,s2,s3,web,param,s4; string tjfs; string[] arr_temp; string[] arr_temp1; string url="", xml, str_bg, elementType; string primaryKeyValue; string primaryKey, foreignKey, relationDesc, relationCondition; DataTable listDataTable; string systemName = DataManager.GetSystemName(); HttpCookie cookie = context.Request.Cookies.Get("pk" + menuId); string spk = ""; if (cookie != null) { spk = ","+cookie.Value.Replace("%2C", ",")+","; } string pageTitle = pm.Properties["bt"].ToString(); if (instManager.FlowNode != "") { pageTitle += "-" + instManager.Flow.GetNodeProperty(instManager.Flow.CurrentNodeID, "jdmc"); } StringBuilder sb = new StringBuilder(); s = instManager.SqlOrder; string sortColumn = ""; string sortOrder = ""; if (s != "") { s = s.Replace(",", " "); arr_temp = s.Split(' '); sortColumn = arr_temp[0]; sortOrder = arr_temp[1]; } //sb.Append(instManager.GetListSqlWhere()); sb.AppendLine(""); sb.AppendLine(""); string DZDYYM = pm.Properties["DZDYYM"].ToString(); sb.Append(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine("" + pageTitle + " - 列表"); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(""); sb.Append("
"); sb.Append("
"); sb.Append(pm.Properties["bt"].ToString()); sb.Append("
"); sb.Append("
"); sb.Append("
"); sb.Append("
"); sb.Append("
"); sb.Append("
"); sb.Append("
"); instManager.PrimaryKeyValue = recordId; sb.Append("
"); DataTable parentList = instManager.Program.ListElements; l = parentList.Rows.Count; for (i = 0; i < l; i++) { if (parentList.Rows[i]["yc"].ToString() =="0" && parentList.Rows[i]["kjlx"].ToString() != "140") { sb.Append(""); } } sb.Append(""); listDataTable = instManager.GetListDataTableByPrimaryKey(); int ll = listDataTable.Rows.Count; ControlManager controlsub = new ControlManager(instManager); for (j = 0; j < ll;j++ ) { for (i = 0; i < l; i++) { if (parentList.Rows[i]["yc"].ToString() =="0" && parentList.Rows[i]["kjlx"].ToString() != "140") { controlsub.Init(listDataTable.Rows[j],parentList.Rows[i]); //sb.Append(""); sb.Append(""); } } } sb.Append("
" + parentList.Rows[i]["kjms"].ToString() + "
" + listDataTable.Rows[j][i].ToString() + "" + controlsub.Text + "
"); sb.Append("
"); DataRow dr = null; businessDataRow = listDataTable.Rows[0]; tagManger.BusinessDataRow = businessDataRow; string glcxid; string currjs=""; string relid; string para,pkv; for (i = 0; i < instManager.Program.Subprograms.Rows.Count; i++) { dr = instManager.Program.Subprograms.Rows[i]; xml = dr["xml"].ToString(); glcxid = dr["glcxid"].ToString(); if (StringHelper.GetXmlValue(xml, "弹出窗口") == "1") { relid = dr["id"].ToString(); primaryKey = StringHelper.GetXmlValue(xml, "主键"); foreignKey = StringHelper.GetXmlValue(xml, "外键"); if (currId == "") currId = relid; if (glcxid != "") { relationCondition = dr["gltj"].ToString(); pkv = businessDataRow[primaryKey].ToString(); url = foreignKey + "='" + pkv + "'"; if (relationCondition != "") url += " and " + tagManger.ReplaceExpression(relationCondition, "colval"); url = "&cond=" + DataManager.Encrypt(url); url += "&cpara="+DataManager.UrlEncode("fk:"+foreignKey+";fkv:"+pkv+";"); url = wwwroot + tagManger.ReplaceExpression(dr["glcx"].ToString(), "colval") + "&relationFlag=true&parentid=" + instManager.ParentID + "&parentvalue=" + recordId + url; } else { url = wwwroot+dr["glcx"].ToString(); url =tagManger.ReplaceExpression(url, "colval"); ii = url.IndexOf(";"); if (ii != -1) { para=StringHelper.GetParamValue(url+";","para"); url = url.Substring(0, ii); if (para!="") { url += "&cpara=" + DataManager.UrlEncode(para); } } } sb.Append(""); if (relid == currId) currjs = "em_subs_select(" + currId + ",\"" + url + "\");"; } } sb.Append("
" + dr["glms"].ToString() + "
"); sb.Append(""); sb.Append(""); sb.Append(""); sysData.Operator.CloseConnection(); context.Response.Write(sb.ToString()); } public bool IsReusable { get { return false; } } }