<%@ WebHandler Language="C#" Class="DataShow" Debug="true" %> 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) { string menuId = context.Request.QueryString["id"].ToString(); string list = context.Request.QueryString["c"].ToString(); string menups = menuId; string userId = context.Session["userid"].ToString(); string stateKey = ""; if (!DataManager.IsNumber(menuId)) { menuId = DataManager.Decrypt(menuId); stateKey = StringHelper.GetRightString(menuId); menuId = StringHelper.GetLeftString(menuId); } StringBuilder sb = new StringBuilder(); DataManager dm = new DataManager(); dm.Operator.OpenConnection(); InstanceManager instManager = new InstanceManager(context,dm,menuId); instManager.StateKey = stateKey; string programId = instManager.ProgramID; DataTable listElements = instManager.Program.ListElements; string list_ls_eles="[{}"; DataRow[] rows; if(list=="") rows= listElements.Select("LBKJCX=1","KJCX asc"); else rows= listElements.Select("kjid in ("+list+")","KJCX asc"); ValueTagManager tag = new ValueTagManager(instManager); ControlManager cm = new ControlManager(instManager); cm.PageType = 1; int l = rows.Length; int i; for (i = 0;i"); sb.Append("
" + cm.GetHtml() + "
"); } //从表 //l = instManager.Program.Subprograms.Rows.Count; string glcxid, fk, pk,subtn,subcid,subparas="",cid; DataTable elements; InstanceManager sub; string xml; foreach (DataRow row in instManager.Program.Subprograms.Rows) { xml = row["xml"].ToString(); if (StringHelper.GetXmlValue(xml, "参与主表查询") == "1") { glcxid = row["glcxid"].ToString(); fk = StringHelper.GetXmlValue(xml, "外键"); pk = StringHelper.GetXmlValue(xml, "主键"); sub = new InstanceManager(context,instManager.BusinessDataManager , glcxid); sub.InitState(); cm = new ControlManager(sub); cm.MultiProgramKey = "p"+glcxid; subtn = sub.Program.ListTableName; elements = sub.Program.QueryElements; l = elements.Rows.Count; cm.PageType = 1; subparas += ";" + glcxid + "," + fk + "," + pk + "," + subtn; for (i = 0; i < l; i++) { cm.Init(null, elements.Rows[i]); cid = glcxid + "_" + cm.ControlID; cm.ControlID = cid; cm.SearchUi = true; cm.ControlStyle = "border:0px;background-color:transparent;width:120px;font-size:12px;"; cm.ControlDescription = row["glms"].ToString()+cm.ControlDescription; list_ls_eles += ",{\"id\":\""+cm.ControlID+"\",\"desc\":\""+cm.ControlDescription+"\",\"dataType\":"+cm.DataType+",\"contType\":"+cm.ControlType+",\"progId\":\""+glcxid+"\"}"; sb.Append("
"); sb.Append("
" + cm.GetHtml() + "
"); } } } list_ls_eles += "]"; context.Response.ContentType = "text/plain"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; //sb.Append("
"); context.Response.Write("{\"html\":\""+StringHelper.ConvertToJson( sb.ToString())+"\",\"eles\":"+list_ls_eles+"}"); } public bool IsReusable { get { return false; } } }