<%@ 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) { //context.Response.Redirect("ListGroup.ashx"); 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["proid"].ToString(); string userId = context.Session["userid"].ToString(); string rand = DateTime.Now.Ticks.ToString(); if (wwwroot == "/") wwwroot = ""; 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(); string str1 = "", str, pagec="", reltype; int colspan; string subPrimaryKeyValue; DataTable dt1 = null; bool isExistDownload = false; bool first,last,b1; HttpCookie cookie = context.Request.Cookies.Get("ps" + menuId); int PageSize; if (cookie == null) { PageSize = instManager.PageSize; } else { PageSize= int.Parse(cookie.Value); instManager.PageSize = PageSize; } cookie = context.Request.Cookies.Get("pk" + menuId); string spk = ""; if (cookie != null) { spk = ","+cookie.Value.Replace("%2C", ",")+","; } string mini = (context.Request.QueryString["mini"]==null ? instManager.GetStateValue("mini") : context.Request.QueryString["mini"].ToString()); if (context.Request.QueryString["qcon"] != null) { s = context.Request.QueryString["qcon"].ToString(); s = eMIS.Utility.JsSecurity.DecryptByAES(s); if (s.IndexOf(" ") != -1) instManager.DefaultCondition = s; else context.Response.End(); } if (context.Request.QueryString["dcon"] != null) { s = context.Request.QueryString["dcon"].ToString(); s = eMIS.Utility.JsSecurity.DecryptByAES(s); if (s.IndexOf(" ") != -1) instManager.DefaultCondition = s; else context.Response.End(); } if (context.Request.QueryString["qcond"] != null) { s = context.Request.QueryString["qcond"].ToString(); s =DataManager.SqlDecode(s); instManager.QueryCondition = s; } if (context.Request.QueryString["dcond"] != null) { s = context.Request.QueryString["dcond"].ToString(); s = DataManager.SqlDecode(s); instManager.DefaultCondition = s; } string pageTitle = pm.Properties["bt"].ToString(); if (instManager.FlowNode != "") { pageTitle += "-" + instManager.Flow.GetNodeProperty(instManager.Flow.CurrentNodeID, "jdmc"); } if (context.Request.QueryString["var"] != null) { instManager.SetStateValue("vr", context.Request.QueryString["var"].ToString()); } if (context.Request.QueryString["cpara"] != null) { s = context.Request.QueryString["cpara"].ToString(); s = DataManager.UrlDecode(s); instManager.SetStateValue("vr",s ); } string sessionVar = instManager.GetStateValue("vr"); if (buttonGroupId != "") { instManager.ButtonGroupID = buttonGroupId; } //if (context.Session["usercnname"].ToString() == "管理员") //{ // context.Response.Write(instManager.ListSqlWhere); // context.Response.End(); //} StringBuilder sb = new StringBuilder(); //'arr_relpro = aco.GetRelationProgram(1) //'RelProCount = UBound(arr_relpro) //RelProCount = aco.DetailPrograms.L2.count //rel1count = aco.DetailPrograms.L1.count //mini = aco.mini //ElementCount = UBound(arr_list) //'sb.Append aco.SQLSelectPart() //if RelProCount > 0 then str_selectpart = aco.SQLSelectPart() //set o = aco.GetListPageObject() //o.Init(aco) //For i = 1 To ElementCount // If arr_list(i, 0) = "" Then // ElementCount = i - 1 // Exit For // End If // If arr_list(i, 7) = "1" Then HeBing = "UniteCol(" & i & "," & i & ");" & HeBing //Next //sTemp = aco.SQLOrderbyPart //If sTemp <> "" Then // sTemp = Replace(sTemp, ",", " ") // arr_temp = Split(sTemp, " ") // SortColumn = arr_temp(2) // SortOrder = arr_temp(3) //End If //aco.GetPrintSetting if (instManager.PageCount > 1) { if (instManager.CurrentPage == 1) { str = "disabled"; first = true; } else { str = "style='cursor:pointer;'"; first = false; } if (instManager.CurrentPage == instManager.PageCount) { str1 = "disabled"; last = true; } else { str1 = "style='cursor:pointer;'"; last = false; } // pagec = "
已选0 全部|首页|上页|下页|末页
"; } else { // pagec = "
已选0 全部|首页|上页|下页|末页
"; } 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(""); // string pageHeight = "0"; pageHeight = "30"; sb.Append("
"+pageTitle+"
"); s = StringHelper.GetParamValue(sessionVar, "objlist"); if (s != "") { arr_temp = s.Split(','); BusinessObjectManager bom = new BusinessObjectManager(instManager.SystemDataManager); for (i = 0; i < arr_temp.Length; i++) { bom.MenuID = null; bom.ObjectID = arr_temp[i]; if(bom.MenuID!=menuId) sb.Append("  "); } } else { //sb.Append(" "); } //sb.Append(""); //sb.Append(pagec); if (buttonGroupId == "") buttonGroupId = instManager.ButtonGroupID; if (buttonGroupId != "") { //tempStr = ""; //tempStr += (mini==""?"":"")+"
"+pagec+"共" + instManager.RecordCount.ToString() + "条 " + instManager.CurrentPage + "/" + instManager.PageCount + "页转到
"; ToolBar2 toolbar = new ToolBar2(sysData); sb.Append("
"); sb.Append(toolbar.GetHtml(buttonGroupId, "查询", "", wwwroot,instManager.MenuID,userId)); sb.Append("
"); } //
string sTJFS = pm.Properties["TJFS"].ToString(); double[] var_sum,var_avg,var_max,var_min; double var_count,var_num; var_sum = new double[elementsCount]; var_avg = new double[elementsCount]; var_max = new double[elementsCount]; var_min = new double[elementsCount]; if (sTJFS!= "") { for (i=0;i
"); string sYSF = ""; sb.Append(""); sb.Append("
"); sb.Append("
"); sb.Append("
"); sb.Append(""); sb.Append("
"); } sb.Append("
"); //主表程序ID if (instManager.ParentID != "" && mini == "") { InstanceManager parentInst = new InstanceManager(context, sysData,instManager.ParentID); ProgramManager parentProg = parentInst.Program; // new ProgramManager(sysData, instManager.ParentID); parentInst.PrimaryKeyValue = instManager.ParentPrimaryKeyValue; sb.Append(""); DataTable parentList = parentProg.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 = parentInst.GetListDataTableByPrimaryKey(); int ll = listDataTable.Rows.Count; ControlManager controlsub = new ControlManager(parentInst); 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; for (i = 0; i < parentProg.Subprograms.Rows.Count; i++) { dr = parentProg.Subprograms.Rows[i]; xml = dr["xml"].ToString(); if (StringHelper.GetXmlValue(xml, "弹出窗口") == "1" && dr["glcxid"].ToString()!="") { primaryKey = StringHelper.GetXmlValue(xml, "主键"); foreignKey = StringHelper.GetXmlValue(xml, "外键"); relationCondition = dr["gltj"].ToString(); url = foreignKey + "='" + businessDataRow[primaryKey] + "'"; if (relationCondition != "") url += " and " + tagManger.ReplaceExpression(relationCondition, "colval"); url = "&cond=" + DataManager.Encrypt(url); url = wwwroot + tagManger.ReplaceExpression(dr["glcx"].ToString(), "colval") + "&relationFlag=true&parentid=" + instManager.ParentID + "&parentvalue=" + instManager.ParentPrimaryKeyValue + url; sb.Append(""); } } sb.Append("
" + dr["glms"].ToString() + "
"); } //2014-02-23 去除else for (i = 0; i < subProgramCount; i++) { xml = pm.Subprograms.Rows[i]["xml"].ToString(); if (StringHelper.GetXmlValue(xml, "同页显示") == "1") { displaySubprogramCount++; } } sb.Append(""); bool bSetBgcolor = false; string[] arr_bgcolor = new string[1]; s = pm.Properties["JLYSSZ"].ToString(); if( s!= "") { bSetBgcolor = true; arr_bgcolor = s.Split(';'); } if(! CustomTableHead( context,sb, pm, listElements)) GetTableHead(sb, pm, listElements); j = 2; //fujianxianshi = aco.mt.FlowMemo string guanjianziduan = pm.Properties["gjzd"].ToString(); listDataTable = instManager.GetMulitRecordDataTable(); listDataTable.TableName = instManager.Program.ListTableName; int rowIndex = 0; DataRow row = null; string fieldName; string val; string elementId; string fontcolor=""; ControlManager control = new ControlManager(instManager); int c=listDataTable.Rows.Count; businessDataRow = null; string trclass,yc; for (int idx = 0; idx < c;idx++ ) { businessDataRow = listDataTable.Rows[idx]; tagManger.BusinessDataRow = businessDataRow; str_bg = "#000000"; primaryKeyValue = businessDataRow[guanjianziduan].ToString(); trclass = (rowIndex % 2 == 0 ? "list_table_tr_odd" : "list_table_tr_eve"); if (bSetBgcolor) { for (i = 0; i < arr_bgcolor.Length; i++) { arr_temp = arr_bgcolor[i].Split(','); if (instManager.MeetTheCondition(tagManger.ReplaceExpression(arr_temp[0], ""), primaryKeyValue)) { str_bg = arr_temp[1]; break; } } } sb.Append(""); if (displaySubprogramCount != 0) sb.Append(""); for (i = 0; i < elementsCount; i++) { row = listElements.Rows[i]; if (row["YC"].ToString() != "1") { control.Init(businessDataRow, row); elementType = control.ControlType; elementId = control.ControlID; fieldName = control.FieldName; tjfs = row["TJFS"].ToString(); control.Display = true; yc = ""; if (elementType == "46") { s2 = row["QZZD"].ToString(); rows = listElements.Select("kjid=" + s2.Substring(2, s2.Length - 4)); s2 = StringHelper.GetRightString(rows[0]["dyzd"].ToString()); s2 = businessDataRow[s2].ToString(); control.GetDataField = s2; } if (instManager.FieldPopedom.AllowRead(fieldName)) val = control.Text; else val = "******"; val = val.Replace("\r\n", "
"); s = control.GetParamValue("setcolor", ""); if (s != "") { arr_temp = s.Split(','); s = tagManger.ReplaceExpression(arr_temp[1], "COLVAL"); dt1 = new DataTable(); if ((bool)dt1.Compute(s, "")) { fontcolor = "color:" + arr_temp[0] + ";"; } else { fontcolor = ""; } } else { fontcolor = ""; } sb.Append(""); } } l = pm.Subprograms.Rows.Count; for (i = 0; i < l; i++) { row = pm.Subprograms.Rows[i]; xml = row["xml"].ToString(); if (StringHelper.GetXmlValue(xml, "弹出窗口") == "1") { url = tagManger.ReplaceExpression(row["glcx"].ToString(), "ColVal"); ii=url.IndexOf(";"); if (ii!=-1) { s3 = StringHelper.GetParamValue(url+";","para"); url = url.Substring(0, ii); if (s3!="") { s3=tagManger.ReplaceExpression(s3, "ColVal"); s3 = s3.Replace("&", ";"); url += "&cpara=" + DataManager.UrlEncode(s3); } //context.Response.Write(url); //context.Response.End(); } relationDesc = row["glms"].ToString(); primaryKey = StringHelper.GetXmlValue(xml, "主键"); foreignKey = StringHelper.GetXmlValue(xml, "外键"); relationCondition = row["gltj"].ToString(); if (relationCondition != "") relationCondition = tagManger.ReplaceExpression(relationCondition, "ColVal"); else relationCondition = "1=1"; if (primaryKey != "" && foreignKey != "") { subPrimaryKeyValue = businessDataRow[primaryKey].ToString(); relationCondition = foreignKey + "='" + subPrimaryKeyValue + "' and " + relationCondition; } //if Parameter <> "" then Parameter = o.tag.ReplaceExpression(Parameter,"ColVal") //显示从表的记录数,即关联程序描述为字段名的时候 //If InStr(1, str_selectpart, "." & relationDesc & ",") > 0 Then // relationDesc = relationDesc & "(" & o.UserRecordsetValue(relationDesc) & ")" // End If if (primaryKey != "") { if (businessDataRow[primaryKey].ToString() == "") relationDesc = ""; } if (url.Substring(0, 2) != "js") { if (relationCondition != "1=1") { // url += "&strcondition=" + context.Server.UrlEncode(relationCondition); if (relationCondition != "") relationCondition += " "; url += "&cond=" + DataManager.Encrypt(relationCondition); } if (primaryKey != "") url += "&relationFlag=true&parentid=" + menuId + "&parentvalue=" + primaryKeyValue + "&ForeignKey=" + foreignKey + "&PrimaryKeyValue=" + businessDataRow[primaryKey].ToString(); if (url.Substring(0, 1) == "/") { url = wwwroot + url; reltype = "0"; } else if (url.Substring(0, 1) == ":") { reltype = "1"; } else { reltype = "0"; } sb.Append(""); } else { sb.Append(""); } } } sb.Append(""); if (displaySubprogramCount != 0) { sb.Append(""); } rowIndex++; } if (sTJFS != "") { //if (instManager.CurrentPage == instManager.PageCount) //'最后一页需要统计 if(true) { s = pm.ListTableName; str = ""; for (i = 1; i < elementsCount; i++) { if (listElements.Rows[i]["YC"].ToString() != "1") { tjfs = listElements.Rows[i]["tjfs"].ToString(); if (tjfs != "") { arr_temp = tjfs.Split(','); fieldName = listElements.Rows[i]["dyzd"].ToString(); for (j = 0; j < arr_temp.Length; j++) { switch (arr_temp[j]) { case "Total": str = str + ",sum(" + fieldName + ") as 总计" + i.ToString(); break; case "Average": str = str + ",avg(" + fieldName + ") as 平均值" + i.ToString(); break; case "Max": str = str + ",max(" + fieldName + ") as 最大值" + i.ToString(); break; case "Min": str = str + ",min(" + fieldName + ") as 最小值" + i.ToString(); break; case "Count": str = str + ",count(" + fieldName + ") as 记录数" + i.ToString(); break; } } } } } if (str != "") { str = str.Substring(1); str = "select " + str + " from " + pm.ListTableName + " where " + instManager.ListSqlWhere ; DataTable dtr = instManager.BusinessDataManager.ExecuteTable(str); arr_temp = sTJFS.Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries); if (displaySubprogramCount > 0) colspan = 3; else colspan = 2; for (j = 0; j < arr_temp.Length; j++) { arr_temp1 = arr_temp[j].Split(','); tjfs = arr_temp1[5]; //' 名称 sb.Append(""); for (i = 1; i < elementsCount; i++) { if (listElements.Rows[i]["YC"].ToString() != "1") { sb.Append(""); } } for (i = 0; i < openSubprogramCount; i++) sb.Append(""); sb.Append(""); } } } else { arr_temp = sTJFS.Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries); if (displaySubprogramCount > 0) colspan = 3; else colspan = 2; for (j = 0; j < arr_temp.Length; j++) { arr_temp1 = arr_temp[j].Split(','); tjfs = arr_temp1[5]; //' 名称 if (tjfs == "总计") tjfs = "小计"; sb.Append(""); for (i = 1; i < elementsCount; i++) { if (listElements.Rows[i]["YC"].ToString() != "1") { sb.Append(""); } } for (i = 0; i < openSubprogramCount; i++) sb.Append(""); sb.Append(""); } } } sb.Append("
i) sb.Append("class='" + trclass + " fixedp fixedc'"); sb.Append(" style ='" + yc + "" + control.ControlStyle + ";" + fontcolor + "' ondblclick='DblClickRow(this);' onclick=\"selectRow(this);"); if (hasEditPopedom == "True") sb.Append("editCell(this,'" + primaryKeyValue + "','" + control.ControlStyle + "','" + menuId + "','" + elementType + "','" + control.DefatuleValue + "',event);"); sb.Append("\">"); if (elementType == "140") { if (val != "") { param = control.GetParamValue("filename", "附件"); isExistDownload = true; arr_temp = val.Split('|'); web = ""; ii = arr_temp.Length; for (j = 0; j < ii; j++) { s = arr_temp[j]; if (s != "") { if (s.IndexOf("*") != -1) { arr_temp1 = s.Split('*'); if (arr_temp1[0] == "w") { web = arr_temp1[1]; s3 = arr_temp1[3]; } else { s3 = arr_temp1[1]; s = (web == "" ? "" : "w*" + web + "*0*") + s; } s3 = s3.Substring(s3.LastIndexOf("/") + 1); s3 = s3.Substring(0, s3.LastIndexOf(".")); if (param == "filename") { s2 = s3; } else { s2 = param + (j + 1).ToString(); } sb.Append("" + s2 + ""); } else { if (param == "filename") { s2 = s.Substring(s.LastIndexOf("/") + 1); s2 = s2.Substring(0, s2.LastIndexOf(".")); sb.Append("" + s2 + ""); } else { sb.Append("" + param + (j + 1).ToString() + ""); } } } if (j != ii - 1) sb.Append("    "); } } } else if (elementType == "42") { if (val != "") { arr_temp = val.Split('*'); sb.Append(""); } } else if (elementType == "142") { if (val != "") { sb.Append("查看"); } } else if (elementType == "3") { j = int.Parse(control.GetParamValue("maxlength", "0")); if (j != 0 && val.Length > j) s = val.Substring(0, j) + ".."; else s = val; sb.Append("" + s + ""); } else if (elementType == "46") { j = int.Parse(control.GetParamValue("maxlength", "0")); if (j != 0 && val.Length > j) s = val.Substring(0, j) + ".."; else s = val; sb.Append("" + s + ""); } else if (elementType == "45") { arr_temp = control.Value.Split(','); arr_temp1 = val.Split(','); for (j = 0; j < arr_temp.Length; j++) { s = arr_temp[j]; if (s.IndexOf("$") == -1) { s2 = control.GetParamValue("objlist", row["QZZD"].ToString()); if (s2.IndexOf(",") != -1) s2 = s2.Split(',')[0]; sb.Append((j == 0 ? "" : " ") + "" + arr_temp1[j] + ""); } else { sb.Append((j == 0 ? "" : " ") + "" + arr_temp1[j] + ""); } } } else { if (sTJFS != "" && double.TryParse(val, out var_num)) { arr_temp = tjfs.Split(','); for (j = 0; j < arr_temp.Length; j++) { switch (arr_temp[j]) { case "Total": var_sum[i] = var_sum[i] + var_num; break; case "Average": var_avg[i] = var_avg[i] + var_num; break; case "Max": if (var_num > var_max[i]) var_max[i] = var_num; break; case "Min": if (var_num < var_min[i]) var_min[i] = var_num; break; } } } if (control.FieldName.ToLower() != "ztms") { s = control.GetParamValue("url", ""); if (s != "") { s = tagManger.ReplaceExpression(s, "ColVal"); s2 = control.GetParamValue("urldesc", val); s3 = control.GetParamValue("cond", ""); s4 = control.GetParamValue("urldisplay", ""); b1 = true; if (s4 != "") { s4 = tagManger.ReplaceExpression(s4, "ColVal"); DataTable eval = new DataTable(); b1 = (bool)eval.Compute(s4, ""); val = ""; } if (b1) { if (s3 != "") { s3 = tagManger.ReplaceExpression(s3, "ColVal"); s3 = DataManager.Encrypt(s3); s += (s.Contains("?") ? "&" : "?") + "cond=" + s3; } s3 = control.GetParamValue("para", ""); if (s3 != "") { s3 = s3.Replace("&", ";"); s3 = tagManger.ReplaceExpression(s3, "ColVal"); s3 = DataManager.UrlEncode(s3); s += ((s.Contains("?") ? "&" : "?") + "cpara=" + s3); //if (context.Session["usercnname"].ToString() == "系统用户") //{ // context.Response.Write(s); // context.Response.End(); //} } if (val == "") sb.Append("" + s2 + ""); else sb.Append("" + val + ""); } else { sb.Append(" "); } } else { j = int.Parse(control.GetParamValue("maxlength", "0")); if (j != 0 && val.Length > j) sb.Append("" + val.Substring(0, j) + ".."); else sb.Append(val); } } else { if (control.GetParamValue("ztms", "1") == "1") sb.Append("" + val + ""); else sb.Append(val); } } sb.Append("" + relationDesc + "" + relationDesc + "
" + tjfs + ""); s = listElements.Rows[i]["YS"].ToString();//格式化样式 for (k = 0; k < dtr.Columns.Count; k++) { if (dtr.Columns[k].ColumnName == (tjfs + i.ToString())) { //if (arr_temp1.Length == 5) sb.Append(Format(s, dtr.Rows[0][k].ToString())); //else //sb.Append(Math.Round(r.GetDecimal(k), int.Parse(arr_temp1[6]))); } } sb.Append("
" + tjfs + ""); s = listElements.Rows[i]["YS"].ToString();//格式化样式 switch (tjfs) { case "小计": if (var_sum[i] != 0) sb.Append(Format(s, var_sum[i].ToString())); else sb.Append(" "); break; case "最大值": if (var_max[i] != double.MinValue) sb.Append(Format(s, var_max[i].ToString())); else sb.Append(" "); break; case "最小值": if (var_min[i] != double.MaxValue) sb.Append(Format(s, var_min[i].ToString())); else sb.Append(" "); break; } sb.Append("

"); // sb.Append("
"); //div_content string pagebuttoms = ""; if (instManager.PageCount <= 1) { pagebuttoms = "
<
1
>
"; } else { pagebuttoms = "
1
2
"+instManager.CurrentPage+"
"+(instManager.PageCount-1).ToString()+"
"+instManager.PageCount.ToString()+"
"; } sb.Append("
每页显示
"); sb.Append("
"); sb.Append("
"+pagebuttoms+"
"); sb.Append("
"); sb.Append("
共" + instManager.RecordCount + "条
"); sb.Append("
"); // sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sysData.Operator.CloseConnection(); context.Response.Write(sb.ToString()); } private string Format(string formatString, string valueString) { int i = formatString.IndexOf("format:("); if (i == -1) return valueString; if (valueString == "") return ""; string s = formatString.Substring(i + 8, formatString.IndexOf(")", i) - i - 8); string[] a = s.Split(','); string ret = valueString; switch (a[0]) { case "datetime": ret = DateTime.Parse(valueString).ToString(a[1]); break; case "number": double d; if (double.TryParse(valueString, out d)) ret = d.ToString(a[1]); else ret = ""; break; default: break; } return ret; } public void setDisplayFormat(int idx,string s) { //dim s1,fn,ft,i,k //if s= "" then // fn = "" //else // i = instr(s,"displayformat") // if i <1 then // fn= "" // else // i = i + 14 // k = instr(i,s,"(") // fn = mid(s,i,k-i) // i = instr(k,s,")") - 1 // ft = mid(s,k+1,i-k) // end if //end if //displayFormat(idx,0) = fn //displayFormat(idx,1) = ft } private string getDisplay(int idx,string v) { string r=v; //if displayFormat(idx,0) = "" then // r = v //else // select case displayFormat(idx,0) // case "date" // r = emisformatdate(displayFormat(idx,1),v) // case "money" // r = emisformatmoney(displayFormat(idx,1),v) // end select //end if return r; } private string emisformatmoney(string ft,string v) { string r; r = v; if (v != "") { string f = ft + ",,,"; string[] a = f.Split(','); if (a[0] == "") a[0] = "¥"; if (a[1] == "") a[1] = "1"; if (a[2] == "") a[2] = "-1"; if (a[1] == "1") r = Math.Round(Convert.ToDecimal(r),Convert.ToInt16(a[1])).ToString(); r = a[0] + r; } return r; } private string GetItemValue(string itemsString,string itemName) { int i = itemsString.IndexOf("\"" + itemName + "\" : \"") + itemName.Length + 6; int j = itemsString.IndexOf("\"",i); return itemsString.Substring(i, j - i); } private void GetTableHead(StringBuilder sb,ProgramManager pm,DataTable listElements) { sb.Append(""); if (displaySubprogramCount > 0) sb.Append(""); string[,] displayformat = new string[elementsCount,1]; string s,xml; string yc; int i; for(i=0;i< elementsCount;i++) { if (listElements.Rows[i]["YC"].ToString() != "1") { s = listElements.Rows[i]["YS"].ToString(); yc = ""; if (listElements.Rows[i]["HB"].ToString() == "1") joinCellJs = "UniteCol(" + (i + 1).ToString() + ",0);" + joinCellJs; sb.Append("" + listElements.Rows[i]["kjms"].ToString() + ""); setDisplayFormat(i, s); } } for(i =0;i" + pm.Subprograms.Rows[i]["glms"].ToString() + ""); else sb.Append("" + pm.Subprograms.Rows[i]["glms"].ToString() + ""); openSubprogramCount++; ; } } sb.Append(""); } public bool CustomTableHead(HttpContext context,StringBuilder sb,ProgramManager pm,DataTable listElements) { //================================================== //自定义表头 int i,ii; string[,] arr_head = new string[elementsCount,5]; string[] arr_temp; string s,xml; string desc; for(i=0;i< elementsCount;i++) { if (listElements.Rows[i]["YC"].ToString() != "1") { s = listElements.Rows[i]["ExtAttr"].ToString(); headMaxCel++; if (s != "") { s = StringHelper.GetXmlValue2(s, "titles"); if (s != "") { arr_temp = s.Split(new char[] { '\t'},StringSplitOptions.RemoveEmptyEntries); if (arr_temp.Length > headMaxRow) headMaxRow = arr_temp.Length; for (ii = 0; ii < arr_temp.Length; ii++) arr_head[i, ii] = arr_temp[ii]; } } } } if (headMaxRow == 0) return false; //context.Response.Write(headMaxRow.ToString()); //context.Response.End(); if (headMaxRow != 0) { for (i = 0; i < headMaxRow; i++) { sb.Append(""); if (i == 0) { sb.Append(""); } else { sb.Append(""); } for (ii = 0; ii < elementsCount; ii++) { if (listElements.Rows[i]["YC"].ToString() != "1") { desc = arr_head[ii, i]; if (desc == "") desc = listElements.Rows[ii]["kjms"].ToString(); if (i == headMaxRow - 1) { sb.Append(""); sb.Append(desc + ""); sb.Append(""); } else { sb.Append("" + desc + ""); } } } if (i == 0) { for (ii = 0; ii < subProgramCount; ii++) { xml = pm.Subprograms.Rows[ii]["xml"].ToString(); if (StringHelper.GetXmlValue(xml, "弹出窗口") == "1") { sb.Append(""+pm.Subprograms.Rows[i]["glms"].ToString()+""); } } } sb.Append(""); } } return true; //===================================================== } public bool IsReusable { get { return false; } } }