zoukankan      html  css  js  c++  java
  • Rainbow的模块开发

    继上次写的《首次的Rainbow 模块Hello World 》,继续纪录我的开发经历。
    根据上次的文章,我们使用相同的步骤进行开发模块。
    此模块为一个dbgrid控件,使用它来读取数据库的内容。
    将dbgrid System.Web.UI.WebControls.DataGrid 放到ascx(product.ascx) 页面中。
    定义数据连接。
     1        private void Connect()
     2        {
     3            if (objConnection==null)
     4            {
     5                objConnection=new SqlConnection(strConnection);
     6            }

     7            if (objConnection.State==ConnectionState.Closed)
     8            {
     9                objConnection.Open();
    10            }
        
    11        }

    12        private void DisConnect()
    13        {
    14            objConnection.Close();
    15        }

    16        private void LoadGrid()
    17        {
    18            Connect();
    19            string strSql="SELECT * from pdt_class";
    20            //strSql=string.Format(strSql,this.GetSearchKey());
    21            SqlDataAdapter adapter= new SqlDataAdapter(strSql,objConnection);
    22            
    23            DataSet ds =new DataSet();
    24            adapter.Fill(ds,"tblName");    
    25            DataView ordersView = new DataView(ds.Tables[0]);
    26            DisConnect();
    27            //dgSystemList.DataSource=ds.Tables[0];
    28            dgSystemList.DataSource=ordersView;
    29            dgSystemList.DataBind();
    30        }

    可以定义一个按钮,挂载click实践进行loadgrid()便可以实现数据的显示了。
    调试好后加上guid的值就可以放在rainbow中!
    很简单吧。  下面将我写的程序代码全部贴出来。比较菜鸟的,大家应该都读的懂。
    三个表
    pdt_class--->产品的第一级目录。
    pdt_type----〉第二级目录
    pdt_infor----〉产品列表。

      1namespace rainbowprj
      2{
      3    using System;
      4    using System.Data;
      5    using System.Drawing;
      6    using System.Web;
      7    using System.Web.UI.WebControls;
      8    using System.Web.UI.HtmlControls;
      9    using System.Data.SqlClient;
     10    using Rainbow.UI;
     11    using Rainbow.UI.WebControls;
     12
     13    /// <summary>
     14    ///        classlist 的摘要说明。
     15    /// </summary>

     16    public class Product : PortalModuleControl
     17    //public class Product : System.Web.UI.UserControl
     18    {
     19        protected System.Web.UI.WebControls.DataGrid dgSystemList;
     20        const string strConnection = "server=TJPC014;database=pubs;uid=sa;pwd=sa;";
     21        protected System.Web.UI.WebControls.Button Button1;
     22        protected System.Web.UI.WebControls.DataGrid pdt_type;
     23        protected System.Web.UI.WebControls.DataGrid pdt_infor;
     24        protected System.Web.UI.WebControls.Label Label1;
     25        protected System.Web.UI.WebControls.Label Label2;
     26        protected System.Web.UI.WebControls.Button pdt_class_btn;
     27        protected System.Web.UI.WebControls.Button pdt_type_btn;
     28        private SqlConnection objConnection;
     29        private void Page_Load(object sender, System.EventArgs e)
     30        {
     31            // 在此处放置用户代码以初始化页面
     32        }

     33
     34        Web 窗体设计器生成的代码
     61
     62        public override Guid GuidID 
     63        {
     64            get
     65            {
     66                return new Guid("{E2499B13-7E5D-4bc1-AB0D-7209792B64EB}");
     67            }

     68        }

     69        private void Connect()
     70        {
     71            if (objConnection==null)
     72            {
     73                objConnection=new SqlConnection(strConnection);
     74            }

     75            if (objConnection.State==ConnectionState.Closed)
     76            {
     77                objConnection.Open();
     78            }
        
     79        }

     80        private void DisConnect()
     81        {
     82            objConnection.Close();
     83        }

     84        private void LoadGrid()
     85        {
     86            Connect();
     87            string strSql="SELECT * from pdt_class";
     88            //strSql=string.Format(strSql,this.GetSearchKey());
     89            SqlDataAdapter adapter= new SqlDataAdapter(strSql,objConnection);
     90            
     91            DataSet ds =new DataSet();
     92            adapter.Fill(ds,"tblName");    
     93            DataView ordersView = new DataView(ds.Tables[0]);
     94            DisConnect();
     95            //dgSystemList.DataSource=ds.Tables[0];
     96            dgSystemList.DataSource=ordersView;
     97            dgSystemList.DataBind();
     98        }

     99
    100        private void LoadGrid_type(string str_type)
    101        {
    102            Connect();
    103            string strSql="SELECT * from pdt_type where classname='"+str_type.ToString()+"'";
    104            //strSql=string.Format(strSql,this.GetSearchKey());
    105            SqlDataAdapter adapter= new SqlDataAdapter(strSql,objConnection);
    106            
    107            DataSet ds =new DataSet();
    108            adapter.Fill(ds,"tblName");    
    109            DataView ordersView = new DataView(ds.Tables[0]);
    110            DisConnect();
    111            //dgSystemList.DataSource=ds.Tables[0];
    112            pdt_type.DataSource=ordersView;
    113            pdt_type.DataBind();
    114            this.pdt_class_btn.Visible=true;
    115        }

    116
    117        private void LoadGrid_pdt(string str_class,string str_type)
    118        {
    119            Connect();
    120            string strSql="SELECT * from pdt_infor where classname='"+str_class.ToString()+"' and typename='"+str_type.ToString()+"'";
    121            //strSql=string.Format(strSql,this.GetSearchKey());
    122            SqlDataAdapter adapter= new SqlDataAdapter(strSql,objConnection);
    123            
    124            DataSet ds =new DataSet();
    125            adapter.Fill(ds,"tblName");    
    126            DataView ordersView = new DataView(ds.Tables[0]);
    127            DisConnect();
    128            //dgSystemList.DataSource=ds.Tables[0];
    129            pdt_infor.DataSource=ordersView;
    130            pdt_infor.DataBind();
    131            this.pdt_class_btn.Visible=true;
    132        }

    133
    134        private void pdt_class_btn_Click(object sender, System.EventArgs e)
    135        {
    136            LoadGrid();
    137            this.pdt_class_btn.Visible=false;
    138            this.pdt_type_btn.Visible=false;
    139            this.dgSystemList.Visible=true;
    140            this.pdt_type.Visible=false;
    141            this.pdt_infor.Visible=false;
    142        }

    143
    144        private void dgSystemList_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    145        {
    146            dgSystemList.CurrentPageIndex = e.NewPageIndex;
    147        
    148            dgSystemList.DataBind();
    149            LoadGrid();
    150        }

    151
    152        private void dgSystemList_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    153        {
    154            this.LoadGrid_type(e.Item.Cells[0].Text.ToString());
    155            this.dgSystemList.Visible=false;
    156            this.pdt_type.Visible=true;
    157        }

    158
    159        private void pdt_type_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    160        {
    161            this.LoadGrid_pdt(e.Item.Cells[1].Text.ToString(),e.Item.Cells[2].Text.ToString());
    162            this.dgSystemList.Visible=false;
    163            this.pdt_type.Visible=false;
    164            this.pdt_infor.Visible=true;
    165            this.pdt_type_btn.Visible=true;
    166            this.pdt_class_btn.Visible=true;
    167            this.Label1.Text=e.Item.Cells[1].Text.ToString();
    168            this.Label2.Text=e.Item.Cells[2].Text.ToString();
    169        }

    170
    171        private void pdt_type_btn_Click(object sender, System.EventArgs e)
    172        {
    173            this.LoadGrid_type(this.Label1.Text.ToString());
    174            this.pdt_class_btn.Visible=true;
    175            this.pdt_type_btn.Visible=false;
    176            this.dgSystemList.Visible=false;
    177            this.pdt_type.Visible=true;
    178            this.pdt_infor.Visible=false;
    179        }

    180    }

    181}

    182
  • 相关阅读:
    LNMP架构三
    LNMP架构二
    LNMP架构
    LAMP架构三
    LAMP架构二
    LAMP架构
    rsync工具介绍
    mysqldump备份单表数据
    阿铭每日一题 day 14 20180125
    阿铭每日一题 day 13 20180124
  • 原文地址:https://www.cnblogs.com/Mint/p/302517.html
Copyright © 2011-2022 走看看