//加载主表单 Written by xf 20110515 private void DataPlay() { txtsavefields.Text = ""; txtsavefields_sx.Text = ""; if (this.Request.QueryString["op"] != null) { this.txtop.Value = this.Request.QueryString["op"].ToString(); //新增还是修改 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); #region 新文档 if (this.Request.QueryString["op"] == "add") { this.td_ydry.Visible = false; //新文档时,“已读人员”按钮隐藏 //文档ID(保存POST到当前页面时,DOCID不重新加载) if (!this.IsPostBack) { this.txtdocid.Value = Hyoa_global.GetRandom(); this.hy_djsj.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } this.hy_djrid.Text = this.Session["hyuid"].ToString(); this.hy_djrname.Text = this.Session["hyuname"].ToString(); this.hy_djrbmid.Text = this.Session["hydeptid"].ToString(); this.hy_djrbmname.Text = this.Session["hydeptname"].ToString(); this.lblcurtachenameshow.Text = this.lbltablename.Text; //如果非流程(授权用户可新建信息、可删除所有信息) if (this.txttablerole.Value == "0") { if (Hy_IfHaveRole(this.hy_mudelid.Text, Session["hyuid"].ToString()) == "1") this.txtSystemClRight.Value = "1"; } //如果非流程(每个人管理自己的信息) if (this.txttablerole.Value == "1") { this.txtSystemClRight.Value = "1"; } //如果非流程(每个人管理自己的信息、授权用户可管理所有信息) if (this.txttablerole.Value == "2") { this.txtSystemClRight.Value = "1"; } //如果非流程(授权用户可新建、只能删自己新建的信息) if (this.txttablerole.Value == "3") { if (Hy_IfHaveRole(this.hy_mudelid.Text, Session["hyuid"].ToString()) == "1") this.txtSystemClRight.Value = "1"; } if (this.txtSystemClRight.Value == "1") { this.td_submit.Visible = true; //保存 this.td_continue.Visible = true; //保存并继续新建 this.td_xyb.Visible = false; //下一步 if (this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesyyhfwxy" || this.hy_tableid.Text == "Tablejdhazfwht" || this.hy_tableid.Text == "TableVODfwxy" || this.hy_tableid.Text == "Tableffpdfwht" || this.hy_tableid.Text == "TableDVBazfwdght" || this.hy_tableid.Text == "Tablejwdsjsxy" || this.hy_tableid.Text == "Tablejwdscsxy" || this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesjcsfwht" || this.hy_tableid.Text == "Tablesjgdcsfwht" || this.hy_tableid.Text == "Tablesjtxyyhzxy" || this.hy_tableid.Text == "Tablezdyht" || this.hy_tableid.Text == "Tablegxhzhht" || this.hy_tableid.Text == "Tableqtht" || this.hy_tableid.Text == "Tablexjsq" || this.hy_tableid.Text == "Tableshd" || this.hy_tableid.Text == "Tableszds") { this.td_continue.Visible = false; this.td_xyb.Visible = true; } if (this.hy_tableid.Text == "Tablesyyhfwxy_new" || this.hy_tableid.Text == "Tableszdsywfwht_new" || this.hy_tableid.Text == "Tablejwdscsxy_new" || this.hy_tableid.Text == "Tablejwdsjm" || this.hy_tableid.Text == "Tablesjcsfwht_new" || this.hy_tableid.Text == "Tablekdjrht_new" || this.hy_tableid.Text == "Tablesjgdcsfwht_new" || this.hy_tableid.Text == "Tablesjtxyyhzxy_new" || this.hy_tableid.Text == "Tablegcsght") { this.td_continue.Visible = false; this.td_xyb.Visible = true; } if (this.hy_tableid.Text == "Tablefpbd") { this.btn_consubmit.Value = "付 款"; this.td_consubmit.Visible = true;//确认td_qxsubmit } } else { this.td_submit.Visible = false; //保存 this.td_xyb.Visible = false; //下一步 this.td_continue.Visible = false; //保存并继续新建 } //加载页面 GetMainTableHtml("0", this.txtSystemClRight.Value, "0", ""); hywebopen_newdoc(); //新文档OPEN时的特殊处理 } #endregion #region 旧文档 if (this.Request.QueryString["op"] == "modify") { if (this.Request.QueryString["docid"] != null) { this.txtdocid.Value = this.Request.QueryString["docid"].ToString(); string sql = "select * from hyc_" + this.hy_tableid.Text + " where DOCID='" + this.txtdocid.Value + "' "; DataTable dt = Hyoa_global.GetDataTable(sql); if (dt.Rows.Count > 0) { this.hy_mudelid.Text = dt.Rows[0]["hy_mudelid"].ToString(); this.hy_tableid.Text = dt.Rows[0]["hy_tableid"].ToString(); this.hy_flowid.Text = dt.Rows[0]["hy_flowid"].ToString(); this.hy_flowname.Text = dt.Rows[0]["hy_flowname"].ToString(); this.hy_curtacheid.Text = dt.Rows[0]["hy_curtacheid"].ToString(); this.hy_curtachename.Text = dt.Rows[0]["hy_curtachename"].ToString(); this.lblcurtachenameshow.Text = dt.Rows[0]["hy_curtachename"].ToString(); this.hy_curclrid.Text = dt.Rows[0]["hy_curclrid"].ToString(); this.hy_curclrname.Text = dt.Rows[0]["hy_curclrname"].ToString(); this.hy_djrid.Text = dt.Rows[0]["hy_djrid"].ToString(); this.hy_djrname.Text = dt.Rows[0]["hy_djrname"].ToString(); this.hy_djrbmid.Text = dt.Rows[0]["hy_djrbmid"].ToString(); this.hy_djrbmname.Text = dt.Rows[0]["hy_djrbmname"].ToString(); this.hy_djsj.Text = dt.Rows[0]["hy_djsj"].ToString(); if (!this.IsPostBack) { this.hy_bt.Text = dt.Rows[0]["hy_bt"].ToString(); } this.hy_iftx.Text = dt.Rows[0]["hy_iftx"].ToString(); this.hy_zhtxsj.Text = dt.Rows[0]["hy_zhtxsj"].ToString(); this.hy_readuserlist.Text = dt.Rows[0]["hy_readuserlist"].ToString(); this.hy_readdatelist.Text = dt.Rows[0]["hy_readdatelist"].ToString(); this.hy_clrylist.Text = dt.Rows[0]["hy_clrylist"].ToString(); this.hy_cyrylist.Text = dt.Rows[0]["hy_cyrylist"].ToString(); this.hy_motherid.Text = dt.Rows[0]["hy_motherid"].ToString(); this.hy_ifconfirm.Text = dt.Rows[0]["hy_ifconfirm"].ToString(); // this.txt_slbh.Value=dt.Rows[0]["hyc_slbh"].ToString(); UpdateReadFlag(); //打开时添加阅读情况 } dt.Clear(); this.lblcurtachenameshow.Text = this.lbltablename.Text; //如果非流程(授权用户统一管理) if (this.txttablerole.Value == "0") { if (Hy_IfHaveRole(this.hy_mudelid.Text, Session["hyuid"].ToString()) == "1") this.txtSystemClRight.Value = "1"; } //如果非流程(每个人管理自己的信息) if (this.txttablerole.Value == "1") { //判断是否为当前文档登记人 if (this.hy_djrid.Text == Session["hyuid"].ToString()) this.txtSystemClRight.Value = "1"; } //如果非流程(每个人操作自己的信息、授权用户可管理所有信息) if (this.txttablerole.Value == "2") { if (Hy_IfHaveRole(this.hy_mudelid.Text, Session["hyuid"].ToString()) == "1") { this.txtSystemClRight.Value = "1"; } else { if (this.hy_djrid.Text == Session["hyuid"].ToString()) this.txtSystemClRight.Value = "1"; } } //如果非流程(授权用户可新建、只能删自己新建的信息) if (this.txttablerole.Value == "3") { if (Hy_IfHaveRole(this.hy_mudelid.Text, Session["hyuid"].ToString()) == "1") { if (this.hy_djrid.Text == Session["hyuid"].ToString()) this.txtSystemClRight.Value = "1"; } } if (this.txtSystemClRight.Value == "1") { this.td_submit.Visible = true; //保存 this.td_continue.Visible = false; //保存并继续新建 this.td_xyb.Visible = false; //下一步 if (this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesyyhfwxy" || this.hy_tableid.Text == "Tablejdhazfwht" || this.hy_tableid.Text == "TableVODfwxy" || this.hy_tableid.Text == "Tableffpdfwht" || this.hy_tableid.Text == "TableDVBazfwdght" || this.hy_tableid.Text == "Tablejwdsjsxy" || this.hy_tableid.Text == "Tablejwdscsxy" || this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesjcsfwht" || this.hy_tableid.Text == "Tablesjgdcsfwht" || this.hy_tableid.Text == "Tablesjtxyyhzxy" || this.hy_tableid.Text == "Tablezdyht" || this.hy_tableid.Text == "Tablegxhzhht" || this.hy_tableid.Text == "Tableqtht" || this.hy_tableid.Text == "Tablexjsq" || this.hy_tableid.Text == "Tableshd" || this.hy_tableid.Text == "Tableszds" //下面新合同 add by ccg 20150617 || this.hy_tableid.Text == "Tablesyyhfwxy_new" || this.hy_tableid.Text == "Tableszdsywfwht_new" || this.hy_tableid.Text == "Tablejwdscsxy_new" || this.hy_tableid.Text == "Tablejwdsjm" || this.hy_tableid.Text == "Tablesjcsfwht_new" || this.hy_tableid.Text == "Tablekdjrht_new" || this.hy_tableid.Text == "Tablesjgdcsfwht_new" || this.hy_tableid.Text == "Tablesjtxyyhzxy_new" || this.hy_tableid.Text == "Tablezdyht" || this.hy_tableid.Text == "Tablegcsght" || this.hy_tableid.Text == "Tableqtht" || this.hy_tableid.Text == "Tablegxhzhht") { string sql_wc = ""; DataTable dtwc; sql_wc = "select * from hyt_blzt where DOCID='" + this.txtdocid.Value + "' and hy_state='未完成'"; dtwc = Hyoa_global.GetDataTable(sql_wc); if (dtwc.Rows.Count > 0) { if (dtwc.Rows[0]["hy_state"].ToString() == "未完成") { this.td_wcan.Visible = true; //完成 } } this.td_continue.Visible = false; this.td_xyb.Visible = true; } if (this.hy_ifconfirm.Text != "1" && this.hy_tableid.Text == "Tablefpbd") { this.btn_consubmit.Value = "付款"; this.td_consubmit.Visible = true; //确认 } } else { this.td_submit.Visible = false; //保存 //this.td_wcan.Visible = false; //完成 this.td_xyb.Visible = false; //下一步 this.td_continue.Visible = false; //保存并继续新建 } //如果是超级管理员把取消按钮显示出来。用于用户确认后还要修改 //if (Hyoa_global.isHaveRole("Role9999", this.Session["hyuid"].ToString())) //{ // this.td_qxsubmit.Visible = true; //取消按钮 //} //加载主表单页面 GetMainTableHtml("1", this.txtSystemClRight.Value, "0", ""); //----加载评论页面 s add by xf 2011-11-19----- HyoaClass.Hyoa_tableconfig Hyoa_tableconfig_forpinglun = new HyoaClass.Hyoa_tableconfig(); DataTable dt_tableconfig_forpinglun = Hyoa_tableconfig_forpinglun.GetTablesbymudelidandtableid(this.hy_mudelid.Text, this.hy_tableid.Text); if (dt_tableconfig_forpinglun.Rows.Count > 0) { if (dt_tableconfig_forpinglun.Rows[0]["hy_ifcomment"] != null) { if (dt_tableconfig_forpinglun.Rows[0]["hy_ifcomment"].ToString() == "是") { this.tb_nbsp.Visible = true; this.tb_pltitle.Visible = true; this.tb_plbody.Visible = true; this.td_pinglun.Visible = true; //得到已经评论的内容 HyoaClass.Hyoa_pinglun Hyoa_pinglun = new HyoaClass.Hyoa_pinglun(); DataTable dt_pinglun = Hyoa_pinglun.GetcommentByfatherid(this.txtdocid.Value); if (dt_pinglun.Rows.Count > 0) { //输出评论记录 this.lblbody.Text = ""; for (var i = 0; i < dt_pinglun.Rows.Count; i++) { this.lblbody.Text += dt_pinglun.Rows[i]["hy_plbody"].ToString() + "<br> "; this.lblbody.Text += "(评论人:" + dt_pinglun.Rows[i]["hy_plusername"].ToString() + " 所在部门:" + dt_pinglun.Rows[i]["hy_pldeptname"].ToString(); this.lblbody.Text += " 评论时间:" + dt_pinglun.Rows[i]["hy_pltime"].ToString() + " IP:" + dt_pinglun.Rows[i]["hy_plip"].ToString(); this.lblbody.Text += ")<br><hr height=1 color=#DEEEFE></hr>"; } } } } } //----加载评论页面 e----- } hywebopen_olddoc(); //旧文档OPEN的特殊处理 } #endregion } // 部门礼品卡 显示导出按键 小潘 2015-12 if (this.hy_tableid.Text == "Tablelpksqd") { //if (this.hy_curtacheid.Text == "tache0001" || this.hy_curtacheid.Text == "**") //{ this.td_dc.Visible = true; //} } }
//加载当前表单执行的onload代码 Written by xf 20110621 public string onloadjs() { string ls_mid = ""; if (this.Request.QueryString["mid"] != null) { ls_mid = this.Request.QueryString["mid"].ToString(); if (ls_mid.Contains(",")) ls_mid = ls_mid.Substring(0, ls_mid.IndexOf(",")); } string ls_tableid = ""; if (this.Request.QueryString["tableid"] != null) { ls_tableid = this.Request.QueryString["tableid"].ToString(); if (ls_tableid.Contains(",")) ls_tableid = ls_tableid.Substring(0, ls_tableid.IndexOf(",")); } string ls_return = ""; HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dt = Hyoa_tableconfig.GetTablesbymudelidandtableid(ls_mid, ls_tableid); if (dt.Rows.Count > 0) ls_return = dt.Rows[0]["hy_onload"].ToString(); return ls_return; }
protected void Page_Load(object sender, EventArgs e) { this.td_print.Visible = false; if (this.Session["hyuid"].ToString() == "") this.Response.Redirect("login.aspx"); if (!this.IsPostBack) { //当前用户信息 this.txtcurloginuserid.Text = Session["hyuid"].ToString(); this.txtcurloginusername.Text = Session["hyuname"].ToString(); this.txtcurlogindeptid.Text = Session["hydeptid"].ToString(); this.txtcurlogindeptname.Text = Session["hydeptname"].ToString(); if (this.Request.QueryString["newHt"] != null) { if (this.Request.QueryString["newHt"].ToString() != "") newHt = this.Request.QueryString["newHt"].ToString(); } if (this.Request.QueryString["pop"] != null) { string ls_pop = ""; ls_pop = this.Request.QueryString["pop"].ToString(); //是否弹出窗口 if (ls_pop.Contains(",")) ls_pop = ls_pop.Substring(0, ls_pop.IndexOf(",")); this.txtifpop.Value = ls_pop; } if (this.Request.QueryString["mid"] != null) { string ls_mid = ""; ls_mid = this.Request.QueryString["mid"].ToString(); if (ls_mid.Contains(",")) ls_mid = ls_mid.Substring(0, ls_mid.IndexOf(",")); this.hy_mudelid.Text = ls_mid; } if (this.Request.QueryString["tableid"] != null) { string ls_tableid = ""; ls_tableid = this.Request.QueryString["tableid"].ToString(); if (ls_tableid.Contains(",")) ls_tableid = ls_tableid.Substring(0, ls_tableid.IndexOf(",")); this.hy_tableid.Text = ls_tableid; this.Getslbh(); //得到表单名称 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dt_tableconfig = Hyoa_tableconfig.GetTable(this.hy_tableid.Text); if (dt_tableconfig.Rows.Count > 0) this.lbltablename.Text = dt_tableconfig.Rows[0]["hy_name"].ToString(); this.txttablerole.Value = dt_tableconfig.Rows[0]["hy_tablerole"].ToString(); dt_tableconfig.Clear(); } if (this.Request.QueryString["listid"] != null) { string ls_listid = ""; ls_listid = this.Request.QueryString["listid"].ToString(); if (ls_listid.Contains(",")) ls_listid = ls_listid.Substring(0, ls_listid.IndexOf(",")); this.txtlistid.Text = ls_listid; } string ls_url = ""; if (this.Request.QueryString["url"] != null) { //this.txturl.Value = this.Request.QueryString["url"].ToString(); //返回URL ls_url = this.Request.Url.ToString(); this.txturl.Value = ls_url.Substring(ls_url.LastIndexOf("url=") + 4, ls_url.Length - ls_url.LastIndexOf("url=") - 4); //返回URL } else { //没有URL值的保存后进入列表中,即/list.aspx?mid=clgl&tableid=8b10b316-98d6-4a50-bc15-52745bb119bb this.txturl.Value = "list_flc.aspx?mid=" + this.hy_mudelid.Text + "&tableid=" + this.hy_tableid.Text + "&listid=" + this.txtlistid.Text; getreturnurl(); //特殊返回地址 } if (this.Request.QueryString["motherid"] != null) { this.txtMotherid.Value = this.Request.QueryString["motherid"].ToString(); } } DataPlay(); // add by wjs 20141029 start if (this.txtop.Value != "add") { if (this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesyyhfwxy" || this.hy_tableid.Text == "Tablejdhazfwht" || this.hy_tableid.Text == "TableVODfwxy" || this.hy_tableid.Text == "Tableffpdfwht" || this.hy_tableid.Text == "TableDVBazfwdght" || this.hy_tableid.Text == "Tablejwdsjsxy" || this.hy_tableid.Text == "Tablejwdscsxy" || this.hy_tableid.Text == "Tablekdjrht" || this.hy_tableid.Text == "Tablesjcsfwht" || this.hy_tableid.Text == "Tablesjgdcsfwht" || this.hy_tableid.Text == "Tablesjtxyyhzxy" || this.hy_tableid.Text == "Tablezdyht" || this.hy_tableid.Text == "Tablegxhzhht" || this.hy_tableid.Text == "Tableqtht") { this.td2.Visible = true; } if (this.hy_tableid.Text == "Tablesyyhfwxy_new" || this.hy_tableid.Text == "Tableszdsywfwht_new" || this.hy_tableid.Text == "Tablejwdscsxy_new" || this.hy_tableid.Text == "Tablejwdsjm" || this.hy_tableid.Text == "Tablesjcsfwht_new" || this.hy_tableid.Text == "Tablekdjrht_new" || this.hy_tableid.Text == "Tablesjgdcsfwht_new" || this.hy_tableid.Text == "Tablesjtxyyhzxy_new" || this.hy_tableid.Text == "Tablegcsght") { this.td2.Visible = true; } } if (this.hy_tableid.Text == "Tablesjgl") { if (Hy_IfHaveRole(this.hy_mudelid.Text, this.Session["hyuid"].ToString()) == "1") { this.td_gxsj.Visible = true; } } if (this.Session["hyuid"].ToString() == "025") { this.td_submit.Visible = true; } }
//得到表单的HTML //pi_isnewdoc 0:新文档 1:旧文档 //ifhavarole:表单上是否有权限 0:lable输出 1:input输出 //ifflowdoc:是否流程表单 0:非流程 1:流程 //curtacheid:当前环节ID,用于判断字段是否在当前环节有权限 public void GetMainTableHtml(string pi_isnewdoc, string ifhavarole, string ifflowdoc, string curtacheid) { //////////////////////////////////输出显示字段/////////////////////////////////////// //得到所有需要显示的字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtfield_show = Hyoa_flowfield.Getflowfields_show_bytableid(this.hy_tableid.Text); //得到表单配置信息 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dt_tableconfig = Hyoa_tableconfig.GetTable(this.hy_tableid.Text); int li_tdnums_onerow = int.Parse(dt_tableconfig.Rows[0]["hy_colnum"].ToString()); //一行有几个TD int li_tdnums_total = 0; //所有字段的tdnums总和 int li_colnums_show = li_tdnums_onerow / 2; int li_rows_show = 0; //一共有几行 int li_ifaddcols = 0; //所有列显示完成后,是否需要补齐显示列 0:否 1:是 int li_addcols = 0; //需要补齐的列数量 for (int i = 0; i < dtfield_show.Rows.Count; i++) { if (dtfield_show.Rows[i]["hy_defaultvaluetype"].ToString() == "5") //不显示左侧列 { li_tdnums_total += int.Parse(dtfield_show.Rows[i]["hy_tdnums"].ToString()); } else { li_tdnums_total += int.Parse(dtfield_show.Rows[i]["hy_tdnums"].ToString()) + 1; } } if (li_tdnums_total % li_tdnums_onerow == 0) { li_rows_show = li_tdnums_total / li_tdnums_onerow; li_ifaddcols = 0; } else { li_rows_show = (li_tdnums_total / li_tdnums_onerow) + 1; li_ifaddcols = 1; li_addcols = li_tdnums_onerow - (li_tdnums_total % li_tdnums_onerow); } int t = 0; //dtlistsearch中的记录行数 int li_tdnums_currows = 0; //当前行已经输出了多少个TD了 for (int i = 0; i < li_rows_show; i++) { TableRow tRow = new TableRow(); tb_main.Rows.Add(tRow); li_tdnums_currows = 0; for (int j = 0; j < li_tdnums_onerow; j++) { //dtlistsearch中的记录行数超出总行数时,结束循环 if ((t + 1) > dtfield_show.Rows.Count) { break; } //当前行输出的TD列数超出每行的总列数时,结束循环 if (li_tdnums_currows >= li_tdnums_onerow) { break; } li_tdnums_currows = GetFieldHtml(tRow, li_tdnums_currows, li_colnums_show, dtfield_show.Rows[t]["hy_fieldid"].ToString(), pi_isnewdoc, ifhavarole, ifflowdoc, curtacheid); t += 1; } //如果最后一行的列没有显示完整,则补齐 if (li_ifaddcols == 1 && i == (li_rows_show - 1)) { for (int k = 0; k < (li_addcols / 2); k++) { TableCell tCell8 = new TableCell(); tRow.Cells.Add(tCell8); tCell8.Height = Unit.Pixel(30); tCell8.CssClass = "Tdcellleft"; tCell8.HorizontalAlign = HorizontalAlign.Center; tCell8.Controls.Add(new LiteralControl(" ")); TableCell tCell9 = new TableCell(); tRow.Cells.Add(tCell9); tCell9.Height = Unit.Pixel(30); tCell9.CssClass = "Tdcellright"; tCell9.HorizontalAlign = HorizontalAlign.Center; tCell9.Controls.Add(new LiteralControl(" ")); } } } //////////////////////////////////最后输出隐藏字段/////////////////////////////////////// //得到所有需要显示的字段 dtfield_show.Clear(); dtfield_show = Hyoa_flowfield.Getflowfields_hidden_bytableid(this.hy_tableid.Text); li_tdnums_total = 0; //所有字段的tdnums总和 li_rows_show = 0; //一共有几行 li_ifaddcols = 0; //所有列显示完成后,是否需要补齐显示列 0:否 1:是 li_addcols = 0; //需要补齐的列数量 for (int i = 0; i < dtfield_show.Rows.Count; i++) { if (dtfield_show.Rows[i]["hy_defaultvaluetype"].ToString() == "5") //不显示左侧列 { li_tdnums_total += int.Parse(dtfield_show.Rows[i]["hy_tdnums"].ToString()); } else { li_tdnums_total += int.Parse(dtfield_show.Rows[i]["hy_tdnums"].ToString()) + 1; } } if (li_tdnums_total % li_tdnums_onerow == 0) { li_rows_show = li_tdnums_total / li_tdnums_onerow; li_ifaddcols = 0; } else { li_rows_show = (li_tdnums_total / li_tdnums_onerow) + 1; li_ifaddcols = 1; li_addcols = li_tdnums_onerow - (li_tdnums_total % li_tdnums_onerow); } t = 0; //dtlistsearch中的记录行数 li_tdnums_currows = 0; //当前行已经输出了多少个TD了 for (int i = 0; i < li_rows_show; i++) { TableRow tRow = new TableRow(); tRow.Style.Value = "display:none"; tb_main.Rows.Add(tRow); li_tdnums_currows = 0; for (int j = 0; j < li_tdnums_onerow; j++) { //dtlistsearch中的记录行数超出总行数时,结束循环 if ((t + 1) > dtfield_show.Rows.Count) { break; } //当前行输出的TD列数超出每行的总列数时,结束循环 if (li_tdnums_currows >= li_tdnums_onerow) { break; } li_tdnums_currows = GetFieldHtml(tRow, li_tdnums_currows, li_colnums_show, dtfield_show.Rows[t]["hy_fieldid"].ToString(), pi_isnewdoc, ifhavarole, ifflowdoc, curtacheid); t += 1; } //如果最后一行的列没有显示完整,则补齐 if (li_ifaddcols == 1 && i == (li_rows_show - 1)) { for (int k = 0; k < (li_addcols / 2); k++) { TableCell tCell8 = new TableCell(); tRow.Cells.Add(tCell8); tCell8.Height = Unit.Pixel(30); tCell8.CssClass = "Tdcellleft"; tCell8.HorizontalAlign = HorizontalAlign.Center; tCell8.Controls.Add(new LiteralControl(" ")); TableCell tCell9 = new TableCell(); tRow.Cells.Add(tCell9); tCell9.Height = Unit.Pixel(30); tCell9.CssClass = "Tdcellright"; tCell9.HorizontalAlign = HorizontalAlign.Center; tCell9.Controls.Add(new LiteralControl(" ")); } } } }
//输出查询字段的表格(查询输入框) public void GetSearchTableHtml() { HyoaClass.Hyoa_listsearchfield Hyoa_listsearchfield = new HyoaClass.Hyoa_listsearchfield(); DataTable dtlistsearch = new DataTable(); if (this.txtlistid.Value == "") { dtlistsearch = Hyoa_listsearchfield.GetlistsearchfieldsbyMudelidAndTableid(this.txtmudelid.Value, this.txttableid.Value); } else { dtlistsearch = Hyoa_listsearchfield.Getlistsearchfieldsbylistid(this.txtlistid.Value); } HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); //得到表单配置信息 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dt_tableconfig = Hyoa_tableconfig.GetTable(this.txttableid.Value); int li_colnums_show = int.Parse(dt_tableconfig.Rows[0]["hy_colnum"].ToString()) / 2; //一行显示几列 int li_rows_show = 0; //一共有几行 int li_ifaddcols = 0; //所有列显示完成后,是否需要补齐显示列 0:否 1:是 int li_addcols = 0; //需要补齐的列数量 if (dtlistsearch.Rows.Count % li_colnums_show == 0) { li_rows_show = dtlistsearch.Rows.Count / li_colnums_show; li_ifaddcols = 0; } else { li_rows_show = (dtlistsearch.Rows.Count / li_colnums_show) + 1; li_ifaddcols = 1; li_addcols = li_colnums_show - (dtlistsearch.Rows.Count % li_colnums_show); } for (int i = 0; i < li_rows_show; i++) { TableRow tRow = new TableRow(); tb_search.Rows.Add(tRow); for (int j = 0; j < li_colnums_show; j++) { //dtlistsearch中的记录行数 int t = i * li_colnums_show + j; if ((t + 1) > dtlistsearch.Rows.Count) { break; } //得到hyt_listsearchfield表中的hy_fieldid, GetFieldHtml(tRow, li_colnums_show, dtlistsearch.Rows[t]["hy_fieldid"].ToString()); } //如果最后一行的列没有显示完整,则补齐 if (li_ifaddcols == 1 && i == (li_rows_show - 1)) { for (int k = 0; k < li_addcols; k++) { TableCell tCell8 = new TableCell(); tRow.Cells.Add(tCell8); tCell8.Height = Unit.Pixel(30); tCell8.CssClass = "Tdcellleft"; tCell8.HorizontalAlign = HorizontalAlign.Center; tCell8.Controls.Add(new LiteralControl(" ")); TableCell tCell9 = new TableCell(); tRow.Cells.Add(tCell9); tCell9.Height = Unit.Pixel(30); tCell9.CssClass = "Tdcellright"; tCell9.HorizontalAlign = HorizontalAlign.Center; tCell9.Controls.Add(new LiteralControl(" ")); } } } //插入查询按钮行 TableRow tRow2 = new TableRow(); tb_search.Rows.Add(tRow2); TableCell tCell3 = new TableCell(); tRow2.Cells.Add(tCell3); tCell3.Height = Unit.Pixel(30); tCell3.CssClass = "Tdcellright"; tCell3.HorizontalAlign = HorizontalAlign.Right; tCell3.ColumnSpan = li_colnums_show * 2; Button btnButton = new Button(); btnButton.ID = "btnsearch_ht"; btnButton.Text = " 查 询"; btnButton.CssClass = "btn7"; btnButton.Click += new EventHandler(btnsearch_Click); tCell3.Controls.Add(btnButton); tCell3.Controls.Add(new LiteralControl(" ")); Button btnButton2 = new Button(); // btnButton2.ID = "btnsearch_dc"; btnButton2.Text = " 导 出"; // btnButton2.Click += new EventHandler(btndc_Click); //btnButton2.OnClientClick = "jssearch()"; btnButton2.CssClass = "btn7"; btnButton2.Click += new EventHandler(btnexport_Click); tCell3.Controls.Add(btnButton2); }
private void DataPlay(int PageNo) { //得到当前模块对应的role HyoaClass.Hyoa_mudel Hyoa_mudel = new HyoaClass.Hyoa_mudel(); DataTable dt_mudel = Hyoa_mudel.Getmudel(this.txtmudelid.Value); string ls_role = "Role9999"; if (dt_mudel.Rows.Count > 0) { ls_role = dt_mudel.Rows[0]["hy_roleid"].ToString(); } //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } //判断当前用户是否有删除权限 HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); //如果非流程(授权用户可新建信息、可删除所有信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "0") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; //this.copycontrol.Visible = true; } else { this.isrole.Value = "0"; } } //如果非流程(每个人管理自己的信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "1") { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; //this.copycontrol.Visible = true; } //如果非流程(每个人管理自己的信息、授权用户可管理所有信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "2") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol.Visible = true; //this.copycontrol.Visible = true; } else { this.isrole.Value = "0"; this.newcontrol.Visible = true; this.delcontrol_my.Visible = true; //this.copycontrol.Visible = true; } } //如果非流程(授权用户可新建、只能删自己新建的信息) if (dttableconfig.Rows[0]["hy_tablerole"].ToString() == "3") { if (Hyoa_global.isHaveRole(ls_role, this.Session["hyuid"].ToString())) { this.isrole.Value = "1"; this.newcontrol.Visible = true; this.delcontrol_sq.Visible = true; //this.copycontrol.Visible = true; } } HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //得到当前页号 this.curpage.Text = PageNo.ToString(); //---查询条件---开始 string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { if (ls_searchtext.Contains(",")) { string[] lv_searchfieldSplit = ls_searchtext.Split(','); for (int n = 0; n < lv_searchfieldSplit.Length; n++) { if (n == 0) { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + lv_searchfieldSplit[n] + "%' "; } else { cmdStr_Search += " or hyc_" + ls_fieldid + " like '%" + lv_searchfieldSplit[n] + "%' "; } } } else { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } //---查询条件---结束 //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (this.txtfieldid.Value != "" && this.txtfieldsort.Value != "") { cmdStr_SearchSort = " order by hyc_" + this.txtfieldid.Value + " " + this.txtfieldsort.Value + " "; } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string sql_sc = ""; //sql语句 hy_iftx=1 表示该合同已删除 if (this.txttableid.Value == "TableVODfwxy" || this.txttableid.Value == "Tableffpdfwht" || this.txttableid.Value == "Tablejdhazfwht" || this.txttableid.Value == "Tablesyyhfwxy" || this.txttableid.Value == "TableDVBazfwdght" || this.txttableid.Value == "TableDVBazfwdght" || this.txttableid.Value == "Tablejwdsjsxy" || this.txttableid.Value == "Tablejwdscsxy" || this.txttableid.Value == "Tablekdjrht" || this.txttableid.Value == "Tablesjcsfwht" || this.txttableid.Value == "Tablesjgdcsfwht" || this.txttableid.Value == "Tablesjtxyyhzxy" || this.txttableid.Value == "Tablezdyht" || this.txttableid.Value == "Tablesyyhfwxy_new" || this.txttableid.Value == "Tableszdsywfwht_new" || this.txttableid.Value == "Tablejwdscsxy_new" || this.txttableid.Value == "Tablejwdsjm" || this.txttableid.Value == "Tablesjcsfwht_new" || this.txttableid.Value == "Tablekdjrht_new" || this.txttableid.Value == "Tablesjgdcsfwht_new" || this.txttableid.Value == "Tablesjtxyyhzxy_new" || this.txttableid.Value == "Tableqtht" || this.txttableid.Value == "Tablegxhzhht") { sql_sc = " and hy_iftx is null"; } string cmdStr = ""; if (dttable.Rows[0]["hy_ifdisplayall"].ToString() == "是") { string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + sql_sc + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } else { string ls_from = " hyc_" + this.txttableid.Value + " where 1=1 " + sql_sc; //特殊处理 add by wjs at 20150701 依据模块id得到权限id 再依据权限id来判断显示内容 start string strRoleid = ""; string sqlSelect = " select hy_roleid from hyt_mudel where hy_mudelid='" + this.txtmudelid.Value + "' "; DataTable dt_role = Hyoa_global.GetDataTable_BASE(sqlSelect); if (dt_role.Rows.Count > 0) { strRoleid = dt_role.Rows[0]["hy_roleid"].ToString(); strRoleid = strRoleid.Substring(0, strRoleid.Length - 3); //查看所有权限 直接查看所有 if (Hyoa_global.isHaveRole(strRoleid + "001", this.Session["hyuid"].ToString())) { } else if (Hyoa_global.isHaveRole(strRoleid + "003", this.Session["hyuid"].ToString())) { ls_from += " and hy_djrbmid='" + this.Session["hydeptid"].ToString() + "' "; } else { ls_from += " and hy_djrid='" + this.Session["hyuid"].ToString() + "' "; } } else { ls_from += " and hy_djrid='" + this.Session["hyuid"].ToString() + "' "; } //特殊处理 add by wjs at 20150701 依据模块id得到权限id 再依据权限id来判断显示内容 end ls_from += " " + cmdStr_Search; if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ") " + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } this.strSQL.Value = cmdStr; dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); } //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); if (i % System.Int32.Parse(PageSize.Text) == 0) this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\"><a href=\"#\" title=\"点击可排序\" onclick=\"fun_sort('" + lvcolnameid[m] + "');\">" + lvcolname[m] + "</a></p></td>"; //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 //if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) //{ // lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); //} //else //{ lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); //} } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main_flc.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } int TotalRecord = int.Parse(dt_total.Rows[0][0].ToString()); this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); //列表中的一些特殊处理,都放在这个函数内 DataPlay_Tscl(); }
protected void Page_Load(object sender, EventArgs e) { if (this.Session["hyuid"].ToString() == "") this.Response.Redirect("login.aspx"); if (this.Request.QueryString["mid"] != null) { //得到模块ID this.txtmudelid.Value = this.Request.QueryString["mid"].ToString(); } else { this.Response.Write("<script>alert('模块ID没有传入,请联系管理员!');</script>"); return; } if (this.Request.QueryString["tableid"] != null) { //表的ID this.txttableid.Value = this.Request.QueryString["tableid"].ToString(); //得到表名 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dt_tableconfig = Hyoa_tableconfig.GetTable(this.txttableid.Value); if (dt_tableconfig.Rows.Count > 0) this.lblcurtachenameshow.Text = dt_tableconfig.Rows[0]["hy_name"].ToString(); } else { this.Response.Write("<script>alert('表单ID没有传入,请联系管理员!');</script>"); return; } if (this.Request.QueryString["listid"] != null) { //得到列表ID if (this.Request.QueryString["listid"].ToString() != "") { this.txtlistid.Value = this.Request.QueryString["listid"].ToString(); } } else { this.Response.Write("<script>alert('列表ID没有传入,请联系管理员!');</script>"); return; } //判断是否需要查询 HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dt_listconfig = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); if (dt_listconfig.Rows.Count > 0) { if (dt_listconfig.Rows[0]["hy_ifsearch"].ToString() == "是") { GetSearchTableHtml();//查询表格动态生成 } else { trsearch.Visible = false; } } if (!IsPostBack) { DataPlay(1); //列表区动态生成 PageListItem(); EnabledWhatButton(); } }
private void DataPlay(int PageNo) { //根据表ID和模块ID得到当前传进来的模块是否有流程 HyoaClass.Hyoa_tableconfig Hyoa_tableconfig = new HyoaClass.Hyoa_tableconfig(); DataTable dttableconfig = Hyoa_tableconfig.GetTablesbymudelidandtableid(this.txtmudelid.Value, this.txttableid.Value); //根据表单得到对应的所有字段 HyoaClass.Hyoa_flowfield Hyoa_flowfield = new HyoaClass.Hyoa_flowfield(); DataTable dtflowfield = Hyoa_flowfield.Getflowfieldsbytableid(dttableconfig.Rows[0]["ID"].ToString()); //循环所有字段 string ls_flowfield = ""; if (dtflowfield.Rows.Count > 0) { for (int i = 0; i < dtflowfield.Rows.Count; i++) { string ls_fieldtype = dtflowfield.Rows[i]["hy_fieldtype"].ToString(); if (ls_fieldtype == "文本" || ls_fieldtype == "多行文本" || ls_fieldtype == "文本加按钮" || ls_fieldtype == "多行文本加按钮" || ls_fieldtype == "日期" || ls_fieldtype == "数值" || ls_fieldtype == "对话框列表" || ls_fieldtype == "复选框" || ls_fieldtype == "单选框" || ls_fieldtype == "口令") { ls_flowfield += ",a.hyc_" + dtflowfield.Rows[i]["hy_fieldid"].ToString(); } } } HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global(); HyoaClass.Hyoa_listconfig Hyoa_listconfig = new HyoaClass.Hyoa_listconfig(); DataTable dtlist = Hyoa_listconfig.Getlistconfig(this.txtlistid.Value); //列表配置 this.lbdisplaytitle.Text = ""; //得到当前页号 this.curpage.Text = PageNo.ToString(); //---查询条件---开始 string cmdStr_Search = ""; if (txtsearchfields.Text != "") { string[] lv_searchfields = txtsearchfields.Text.Split(','); string[] lv_searchfields_sx = txtsearchfields_sx.Text.Split(','); for (int i = 0; i < lv_searchfields.Length; i++) { string ls_fieldid = lv_searchfields[i].ToString(); string ls_fieldid_sx = lv_searchfields_sx[i].ToString(); string ls_searchtext = ""; if (this.Request.Form[ls_fieldid] != null) { ls_searchtext = this.Request.Form[ls_fieldid].ToString(); } if (ls_searchtext != "") { if (ls_fieldid_sx == "0") { cmdStr_Search += " and hyc_" + ls_fieldid + " like '%" + ls_searchtext + "%' "; } else { if (ls_fieldid_sx == "1") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) >= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') >= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "2") { if (Session["conntype"].ToString() == "SQL") { cmdStr_Search += " and left(CONVERT(varchar, hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ", 120 ) ,10) <= '" + ls_searchtext + "' "; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr_Search += " and to_char(hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + ",'YYYY-MM-DD') <= '" + ls_searchtext + "' "; } } if (ls_fieldid_sx == "3") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " >= " + ls_searchtext + " "; } if (ls_fieldid_sx == "4") { cmdStr_Search += " and hyc_" + ls_fieldid.Substring(0, ls_fieldid.Length - 2) + " <= " + ls_searchtext + " "; } } } } } //---查询条件---结束 //---排序---开始 string cmdStr_SearchSort = ""; if (dtlist.Rows[0]["hy_sortfield1"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield1"].ToString() + " " + dtlist.Rows[0]["hy_sorttype1"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield2"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield2"].ToString() + " " + dtlist.Rows[0]["hy_sorttype2"].ToString(); } } if (dtlist.Rows[0]["hy_sortfield3"].ToString() != "") { if (cmdStr_SearchSort == "") { cmdStr_SearchSort = " order by hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } else { cmdStr_SearchSort += " ,hyc_" + dtlist.Rows[0]["hy_sortfield3"].ToString() + " " + dtlist.Rows[0]["hy_sorttype3"].ToString(); } } if (this.txtfieldid.Value != "" && this.txtfieldsort.Value != "") { cmdStr_SearchSort = " order by hyc_" + this.txtfieldid.Value + " " + this.txtfieldsort.Value + " "; } if (cmdStr_SearchSort == "") { //没有配置,则默认按登记日期 cmdStr_SearchSort = " order by hy_djsj desc "; } //---排序---结束 //--根据查询条件得到返回数据集--s DataTable dt = new DataTable(); //单页数据集 DataTable dt_total = new DataTable(); //数据总条数,返回总条数值 DataTable dttable = Hyoa_tableconfig.GetTable(this.txttableid.Value); //得到表配置信息查看当前表是否有流程 hy_ifflowdoc string cmdStr = ""; string ls_from = ""; ls_from = " hyc_" + this.txttableid.Value + " where 1=1 "; if (this.txttableid.Value == "Tablefpbd") { ls_from += " and hyc_sfbf <> '1' " + cmdStr_Search; } else { ls_from += cmdStr_Search; } if (Session["conntype"].ToString() == "SQL") { cmdStr = "select top " + PageSize.Text + " * from " + ls_from; cmdStr += " and DOCID not in (select top " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString() + " DOCID from " + ls_from + cmdStr_SearchSort + ")" + cmdStr_SearchSort; } if (Session["conntype"].ToString() == "ORACLE") { cmdStr = " select * from ( "; cmdStr += " select my_table.*, rownum as my_rownum from "; cmdStr += " ( "; cmdStr += " select * from hyc_" + this.txttableid.Value + " where 1=1 " + cmdStr_Search + cmdStr_SearchSort; cmdStr += " ) my_table "; cmdStr += " where rownum<= " + ((PageNo) * int.Parse(PageSize.Text)).ToString(); cmdStr += " ) where my_rownum> " + ((PageNo - 1) * int.Parse(PageSize.Text)).ToString(); } dt = Hyoa_global.GetDataTable(cmdStr); cmdStr = "select count(*) from " + ls_from; dt_total = Hyoa_global.GetDataTable(cmdStr); //--根据查询条件得到返回数据集--e //开始输出----整合成HTML为数据行 DataTable tempTable = dt.Clone(); DataColumn col = new DataColumn("displaycol", typeof(String)); //定义新的一列 add tempTable.Columns.Add(col); //追加一列 add string lscolname = ""; string lscolnameid = ""; string lscolwidth = ""; string ls_col = ""; string[] lvcolname; string[] lvcolnameid; string[] lvcolwidth; string lscolwidthper; lscolname = dtlist.Rows[0]["hy_columnshow"].ToString(); //要显示的列名:附件,标题,收文来源 lscolnameid = dtlist.Rows[0]["hy_columnshowid"].ToString(); //要显示的列名id:uploadfile1,Hy_bt,Hy_swly lscolwidth = dtlist.Rows[0]["hy_width"].ToString(); //要显示的列名id:10,20,30 lvcolname = lscolname.Split(','); lvcolnameid = lscolnameid.Split(','); lvcolwidth = lscolwidth.Split(','); if (dt.Rows.Count <= 0) { //如果没有数据则输出表头 for (int n = 0; n < lvcolname.Length; n++) { if (n >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[n]; } this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\">" + lvcolname[n] + "</td>"; } } for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = tempTable.NewRow(); //输出主表所有字段,start for (int j = 0; j < dt.Columns.Count; j++) { dr[dt.Columns[j].ColumnName] = dt.Rows[i][j]; } //输出主表所有字段,end //////开始得到列的值 DataTable dtgetsqlfield; for (int m = 0; m < lvcolname.Length; m++) { //如果有数据,则输出数据 if (m >= lvcolwidth.Length) { lscolwidthper = ""; }//此判断是为了防止对应宽度没有输入时,会溢出报错。 else { lscolwidthper = lvcolwidth[m]; } dtgetsqlfield = Hyoa_flowfield.GetSQLfieldBymudelidAndFieldidAndTableid(this.txtmudelid.Value, lvcolnameid[m], this.txttableid.Value); if (i % System.Int32.Parse(PageSize.Text) == 0) this.lbdisplaytitle.Text += "<td width=\"" + lscolwidthper + "%\" class=\"TdcellHead\"><p align=\"center\"><a href=\"#\" title=\"点击可排序\" onclick=\"fun_sort('" + lvcolnameid[m] + "');\">" + lvcolname[m] + "</a></p></td>"; //根据字段英文名,得到数据库中对应的字段 string lsgetsqlfield = "hyc_" + dtgetsqlfield.Rows[0]["hy_fieldid"].ToString(); //根据数据库中对应的字段,得到输出字段的值start (日期型根据格式进行了转换) string lsgetputfiled = ""; if (dtgetsqlfield.Rows[0]["hy_defaultvalue"].ToString() == "yyyy-mm-dd") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") lsgetputfiled = System.DateTime.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToShortDateString(); } else { //解决Float小数点后面出现N位小数乱码的问题 if (dtgetsqlfield.Rows[0]["hy_fieldtype"].ToString() == "数值") { if (dt.Rows[i][lsgetsqlfield].ToString() != "") { //是否包含小数点,包含的话,取小数点后两位 //if (dt.Rows[i][lsgetsqlfield].ToString().Contains(".") == true) //{ // lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString("F2"); //} //else //{ lsgetputfiled = float.Parse(dt.Rows[i][lsgetsqlfield].ToString()).ToString(); // } } else { lsgetputfiled = "0"; } //lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } else { lsgetputfiled = dt.Rows[i][lsgetsqlfield].ToString(); } } if (lsgetputfiled == "") lsgetputfiled = " "; //根据得到的SQL字段,得到输出字段的值end if (dtgetsqlfield.Rows[0]["hy_ifdbsybt"].ToString() == "是") { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\"><a href=\"#\" onclick=\"var ss='main.aspx?op=modify&mid=" + dt.Rows[i]["hy_mudelid"].ToString() + "&tableid=" + dt.Rows[i]["hy_tableid"].ToString() + "&docid=" + dt.Rows[i]["DOCID"].ToString() + "&url='+window.location;window.location=ss;\">" + lsgetputfiled + "</a></td>"; } else { ls_col += "<td width=\"" + lscolwidthper + "%\" align=\"center\">" + lsgetputfiled + "</td>"; } } //如果是流程表单,则最后追加两列(当前环节和当前处理人) #region 如果是流程表单,则最后追加两列(当前环节和当前处理人) //表头 if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null && i == 0) { this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前环节</td>"; //if (dt.Rows[i]["hy_curtachename"].ToString() != "结束") //{ // this.lbdisplaytitle.Text += "<td width=\"10%\" class=\"TdcellHead\"><p align=\"center\">当前处理人</td>"; //} } //数据 if (dt.Rows[i]["hy_flowid"].ToString() != "" && dt.Rows[i]["hy_flowid"].ToString() != null) { ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curtachename"].ToString() + " </td>"; //if (dt.Rows[i]["hy_curtachename"].ToString() != "结束") //{ // ls_col += "<td width=\"10%\" align=\"center\">" + dt.Rows[i]["hy_curclrname"].ToString() + " </td>"; //} } #endregion dr["displaycol"] = ls_col; //将新值赋给相应的列 add ls_col = ""; tempTable.Rows.Add(dr); } int TotalRecord = int.Parse(dt_total.Rows[0][0].ToString()); this.sumts.Text = TotalRecord.ToString(); this.sumts2.Text = TotalRecord.ToString(); this.ShowTotalRecord.Text = TotalRecord.ToString(); //计算及显示总页数 int TotalPage; if (TotalRecord < System.Int32.Parse(PageSize.Text)) { TotalPage = 1; } else { if (TotalRecord % System.Int32.Parse(PageSize.Text) != 0) { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text) + 1; } else { TotalPage = TotalRecord / System.Int32.Parse(PageSize.Text); } } this.ShowTotalPage.Text = TotalPage.ToString(); this.rptlist.DataSource = tempTable; this.rptlist.DataBind(); dt.Clear(); //列表中的一些特殊处理,都放在这个函数内 DataPlay_Tscl(); }