二、cs文件

using System;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.UI.WebControls;
using BS.EAP.DBAccess;
using System.Data;
using BS.EAP.Authentication;
using BS.EAP.BizMgt.DataQuery;
using System.Web.Security;
using System.Collections;
using BS.EAP.BizMgt.Model;
using System.Text;
using System.Linq;
using System.Web;
using BS.EAP.BizMgt.Action;
using BS.EAP.Account.Model;
using BS.EAP.BizMgt.Common;
using BS.EAP.BizCheck;
using BS.EAP.eForm.Frame;
using BS.EAP.eForm.Web;
using BS.EAP.eForm.Data;
using System.Globalization;
using Oracle.DataAccess.Client;
using Telerik.WebControls;

namespace BS.EAP.Portal.Business.DataQuery
{
    public partial class UpdateMTablesQCols : WebPage
    {
        private IDataBase IDB = DBFactory.GetDBInstance();
        private string appid = "__ALL";
        private string dtid = "__ALL";

protected void Page_Load(object sender, EventArgs e)
        {
            //this.reportDate.InitDateType = (BS.EAP.BizMgt.Common.ReportDateType)Enum.Parse(typeof(BS.EAP.BizMgt.Common.ReportDateType), "月");

if (this.CurrentApplication == null)
            {
                Response.Write(string.Format("<script>top.window.location='{0}'</script>", FormsAuthentication.LoginUrl));
                return;
            }
            this.curBizType = this.CurrentApplication.APPID.ToString();
            this.HtmlCurBizType.Value = this.curBizType;
            // oQuery = new QueryContext(this.curBizType);

if (!this.IsPostBack)
            {
                InitPage();
            }
        }

#region 初始化页面
        /// <summary>
        /// 初始化页面
        /// </summary>
        private void InitPage()
        {
            appid = "__ALL";
            dtid = "__ALL";
            BindDept();
            BindDataTable(appid);
            //根据oQuery绑定curBizType下的表
            BindGV(appid, dtid);

}

private void BindDept()
        {
            drpDept.Items.Clear();

IDataBase oDB = DBFactory.GetDBInstance();
            string sql = "";
            sql = "select app.appid appid, app.appname appname  from sys_application app where app.appid in ('969c388f-b0e2-4571-9876-4312b6a74a54', '3a448698-b695-4a5a-b405-df18f44da86f', '06f74f41-61ff-405a-8c86-bf8edacd945e')";

DataTable dt = oDB.GetDataTable(sql);
            drpDept.Items.Add(new ListItem("全部", "__ALL"));
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    drpDept.Items.Add(new ListItem(dr["appname"].ToString(), dr["appid"].ToString()));
                }

}
        }
        private void BindDataTable(string appid)
        {
            drpTable.Items.Clear();
            IDataBase oDB = DBFactory.GetDBInstance();
            string strSql = "";
            strSql = string.Format(@" select DTName, DTID from Basic_DataTable where  (('__ALL' ='{0}' and
                                       appid in ('969c388f-b0e2-4571-9876-4312b6a74a54',
                                                   '3a448698-b695-4a5a-b405-df18f44da86f',
                                                   '06f74f41-61ff-405a-8c86-bf8edacd945e')) or
                                       ('__ALL' != '{0}' and
                                       appid in ('{0}')))
                    and DTType in ('c544a6c1-e921-448c-8880-0b22cf07cee4', '26a65507-9aec-481f-a5b6-4959a4cc4933') and dtid not in ('35e05ad7-703b-4b8f-b7d1-02eae769dc15',
                   '56d300e1-f91f-44e5-936e-b6b445ea16f8',  '65f31d08-bc1f-43e4-883a-0cfecf4a8282', '2a6005b6-a513-4317-aaca-1049f83dceb1') order by sortno", appid);
            DataTable dt = oDB.GetDataTable(strSql);
            drpTable.Items.Add(new ListItem("全部", "__ALL"));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                drpTable.Items.Add(new ListItem(dt.Rows[i]["DTNAME"].ToString(), dt.Rows[i]["DTID"].ToString()));
            }
        }

private void BindGV(string appid, string dtid)
        {
            string strQuery = "";
            strQuery = string.Format(@"select app.appname appname,
                                       db.dtname   dtname,
                                       t.appid     appid,
                                       t.TABLENAME TABLENAME,
                                       t.colnameen ColNameEN,
                                       t.colnamecn ColNameCN
                                  from tablecolsquery t
                                  left join sys_application app
                                    on app.appid = t.appid
                                  left join basic_datatable db
                                    on upper(db.shortcode) = upper(t.tablename)
                                   and db.status = 0
                                 where (('__ALL' = '{0}' and
                                       t.appid in ('969c388f-b0e2-4571-9876-4312b6a74a54',
                                                     '3a448698-b695-4a5a-b405-df18f44da86f',
                                                     '06f74f41-61ff-405a-8c86-bf8edacd945e')) or
                                       t.appid = '{0}')
                                   and (db.dtid = '{1}' or '__ALL' = '{1}')
                                 order by t.appid, db.sortno, t.TABLENAME, t.COLUMNID asc", appid, dtid);
            IDataBase idb = DBFactory.GetDBInstance();
            DataTable dtQueryResult = idb.GetDataTable(strQuery);
            Session.Remove("QueryResult");
            Session.Add("QueryResult", dtQueryResult);
            if (dtQueryResult.Rows.Count <= 0)
            {
                dtQueryResult = idb.GetDataTable("select '没有数据!' dtname from dual");
                this.gvMutiQueResult.Columns.Clear();
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "dtname", HeaderText = "表" });
                this.gvMutiQueResult.DataSource = dtQueryResult;
                this.gvMutiQueResult.DataBind();
            }
            else
            {

this.gvMutiQueResult.Attributes.Clear();
                this.gvMutiQueResult.Attributes.Add("style", "word-break:keep-all");
                this.gvMutiQueResult.Columns.Clear();
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "appname", HeaderText = "业务" });
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "dtname", HeaderText = "表名" });
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "TABLENAME", HeaderText = "物理表" });
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "ColNameEN", HeaderText = "列名" });
                this.gvMutiQueResult.Columns.Add(new BoundField() { DataField = "ColNameCN", HeaderText = "Comments" });
                this.gvMutiQueResult.DataSource = dtQueryResult;
                this.gvMutiQueResult.DataBind();
            }

}

#endregion

/// <summary>
        /// 存储过程(处理多表查询物理表列字段)
        /// </summary>
        /// <returns></returns>
        private void GetProcedureG(string Reportdate)
        {
            BS.EAP.DBAccess.IDataBase sDB = BS.EAP.DBAccess.DBFactory.GetDBInstance();
            Oracle.DataAccess.Client.OracleParameter[] dataParams = new Oracle.DataAccess.Client.OracleParameter[1];
            dataParams[0] = new Oracle.DataAccess.Client.OracleParameter("v_ReportDate", Oracle.DataAccess.Client.OracleDbType.Varchar2, ParameterDirection.Input);
            dataParams[0].Value = Reportdate;
            sDB.GetDataTableBySPInTran("UPDATETABLECOLS", dataParams);
        }

#region 事件

protected void BtnUpdate_Click(object sender, EventArgs e)
        {
            //this.queryBtn.Attributes.Add("onclick", "return confirm('您确定要更新多表查询列吗?');");
            string Reportdate;
            Reportdate = System.DateTime.Now.ToString("yyyyMMdd");
            GetProcedureG(Reportdate);
            ClientScript.RegisterStartupScript(this.GetType(), "refresh", "<script language=\"javascript\">alert('更新成功!');</script>");
            appid = this.drpDept.SelectedValue.ToString();
            dtid = this.drpTable.SelectedValue.ToString();
            BindGV(appid, dtid);
        }
        protected void BtnQuery_Click(object sender, EventArgs e)
        {
            appid = this.drpDept.SelectedValue.ToString();
            dtid = this.drpTable.SelectedValue.ToString();
            BindGV(appid, dtid);
        }
        protected void gvMutiQueResult_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            appid = this.drpDept.SelectedValue.ToString();
            dtid = this.drpTable.SelectedValue.ToString();
            this.gvMutiQueResult.PageIndex = e.NewPageIndex;
            if (Session["QueryResult"] != null)
            {
                this.gvMutiQueResult.DataSource = (DataTable)Session["QueryResult"];
                this.gvMutiQueResult.DataBind();
            }
            else
            {
                BindGV(appid, dtid);
            }
        }

protected void drpDept_SelectedIndexChanged(object sender, EventArgs e)
        {
            appid = this.drpDept.SelectedValue.ToString();
            dtid = "__ALL";
            BindDataTable(appid);
            BindGV(appid, dtid);
        }

protected void drpTable_SelectedIndexChanged(object sender, EventArgs e)
        {
            appid = this.drpDept.SelectedValue.ToString();
            dtid = this.drpTable.SelectedValue.ToString();
            BindGV(appid, dtid);
        }

public override void VerifyRenderingInServerForm(Control control)
        {
            //base.VerifyRenderingInServerForm(control);
        }
        #endregion

}
}

.net简单页面后台绑定下拉框,按钮,分页 后台cs文件的更多相关文章

  1. .net简单页面后台绑定下拉框,按钮,分页 前台aspx页面

    一.aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Updat ...

  2. WPF AutoGeneratingColumn 绑定下拉框

    WPF自动产生列,前台代码: <DataGrid x:Name="Dg" AutoGenerateColumns="True" CanUserAddRow ...

  3. ASP.NET MVC中的cshtml页面中的下拉框的使用

    ASP.NET MVC中的cshtml页面中的下拉框的使用 用上@Html.DropDownList 先记下来..以做备忘...

  4. 奥展项目笔记07--vue绑定下拉框和checkbox总结

    1.vue绑定下拉框 <div class="col-md-1 data"> <select class="form-control " v- ...

  5. 表id关联数据获取至页面,制作下拉框多选进行数据多项获取(字段处理)

     这周完成了一张表单,重点碰到以下问题: 1.freemaker获取年份的type值取year,类型直接为Long,传至后台和获取数据不需要转换: 2.freemaker获取日期type值为date, ...

  6. MVC4 绑定下拉框方法,解决编辑时不绑定值

    方法一  Controller 部分代码: public ActionResult Modify(int id) { //3.1.1 检查id //3.1.2根据id查询数据 Models.Stude ...

  7. Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)

    需求类似这样  ↓ ↓ ↓   -->    菜单A发生变化,动态取数据填充下拉菜单B. JS代码如下: <script type="text/javascript"& ...

  8. 分公司下拉框赋值-从后台传到前端jsp

    我的旧代码  List<MetaBranchCfg> list = metaBranchCfgBO.queryAllBranchList();  request.setAttribute( ...

  9. jquery easyui无法绑定下拉框内容

    最近在研究jquery easyui的DataGrid,发现DataGrid中的下拉框无法绑定值,找了很久也没发现是具体问题所在,最后还是同事帮忙搞定的.具体问题竟然是jquery easyui提供的 ...

随机推荐

  1. OC随笔一:类

    总结:        在oc中,我们要整出一个类来,首先需要一个.h头文件和一个.m实现文件.一般我们创建的类都继承了根类,因为根类帮我们实现了很多实用的方法,而类里面会有变量(属性) .函数(方法) ...

  2. 简单实用 “易忘” 的SQL 语句语法,新老皆宜

    --创建数据库 create database 数据库名 on primary ( name='数据库名_data',  filename='数据库储存路径', size=数据库初始大小(MB),   ...

  3. ie6里png图片不透明

    ie6下img图片或背景图片为png时,图片变成了一片黑色: 图中的jquery-timepicker的两个黑方块和img就是由此原因引用的.解决方法:由Drew Diller提供,对img.back ...

  4. 深入了解session

    session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的含义也很不相同.这里只探讨HTTP S ...

  5. JavaScript进阶学习的一些建议

    blankyao最近问我如何学习JavaScript,他觉着在理解了JavaScript的语法之后,不知如何去学习JavaScript了. 其实我也是个JavaScript小菜,最近在开发中遇到不少关 ...

  6. Python基础第三天

    三元运算 三元运算又叫三目运算,是对简单的条件语句的缩写,例如if判断 # 标准if判断语法 if 1 == 1: name = "yes" else: name = " ...

  7. http://www.cnblogs.com/zhuli19901106/p/4356419.html

    http://www.cnblogs.com/zhuli19901106/p/4356419.html

  8. python的pyc和pyo文件

    python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模 ...

  9. ubuntu安装openssh-server

    openssh-server是依赖于openssh-clienr的,那ubuntu不是自带了openssh-client吗? 原因是自带的openssh-clien与所要安装的openssh-serv ...

  10. (摘)C#comboBox绑定数据

    C#中comboBox用代码绑定数据库中在某一列.用处:跟radioButton联系在一起,可以根据radioButton在选择而在comboBox显示出不同的值. private void radi ...