zoukankan      html  css  js  c++  java
  • WebForm 三级联动

    三级联动

    数据库根据父级代号条件写查询 返回list<>集合

    方法一:

    创建三个下拉列表:

    ※AutoPostBack:否发生自动回传到服务器的操作。如果把该属性设置为 TRUE,则启用自动回传,否则为 FALSE。默认是 FALSE。

    1 省:<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>
    2 市:<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList>
    3 区:<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="True"></asp:DropDownList>

    CS:

    ※SelectedIndexChanged事件:当列表控件的选定项在信息发往服务器之间变化时发生

     1     protected void Page_Load(object sender, EventArgs e)
     2     {
     3         if (!IsPostBack)
     4         {
     5             Bind(new ChinaStatesDA().Select("0001"), DropDownList1);
     6             Bind(new ChinaStatesDA().Select(DropDownList1.SelectedValue), DropDownList2);
     7             Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
     8         }
     9         DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
    10         DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;
    11     }
    12 
    13     void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    14     {
    15         Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
    16     }
    17     
    18     void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    19     {
    20         Bind(new ChinaStatesDA().Select(DropDownList1.SelectedValue), DropDownList2);
    21         Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
    22     }
    23     //绑定方法
    24     public void Bind(List<ChinaStates> list, DropDownList dw)
    25     {
    26         dw.DataSource = list;
    27         dw.DataTextField = "AreaName";
    28         dw.DataValueField = "AreaCode";
    29         dw.DataBind();
    30     }

    方法二:

    创建三个下拉列表框:

     省:<asp:DropDownList ID="DropDownListsheng" runat="server" OnSelectedIndexChanged="DropDownListsheng_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
     市:<asp:DropDownList ID="DropDownListshi" runat="server" OnSelectedIndexChanged="DropDownListshi_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
     区:<asp:DropDownList ID="DropDownListqu" runat="server" AutoPostBack="True"></asp:DropDownList>

    CS:

    ※DropDownList.Items.Clear(); 每调用一次填充方法就需要请空一下,否则数据会追加

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                sheng();
                shi();
                qu();
            }          
        }
        public void sheng()//填充省
        {
            List<ChinaStates> listsheng = new ChinaStatesDA().Select("0001");
            foreach (ChinaStates cssheng in listsheng)
            {
                ListItem lisheng = new ListItem(cssheng.AreaName, cssheng.AreaCode);
                DropDownListsheng.Items.Add(lisheng);
            }
        }
        public void shi()//填充市
        {
    
            List<ChinaStates> listshi = new ChinaStatesDA().Select(DropDownListsheng.SelectedValue);
            foreach (ChinaStates csshi in listshi)
            {
                ListItem lishi = new ListItem(csshi.AreaName, csshi.AreaCode);
                DropDownListshi.Items.Add(lishi);
            }
        }
        public void qu()//填充区
        {
    
            List<ChinaStates> listqu = new ChinaStatesDA().Select(DropDownListshi.SelectedValue);
            foreach (ChinaStates csqu in listqu)
            {
                ListItem liqu = new ListItem(csqu.AreaName, csqu.AreaCode);
                DropDownListqu.Items.Add(liqu);
            }
    
        }
        protected void DropDownListsheng_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownListshi.Items.Clear();
            DropDownListqu.Items.Clear();
            shi();
            qu();
        }
        protected void DropDownListshi_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownListqu.Items.Clear();
            qu();
        }
  • 相关阅读:
    数值分析实验之平方根法解线性方程组(MATLAB代码)
    Packet Tracer 下载方法
    注册 Netacad (思科)账户 超详细流程
    数值分析实验之非线性方程求根(Python 现)
    数值分析实验之非线性方程求根(MATLAB实现)
    数值分析实验之矩阵的LU分解及在解线性方程组中的应用(java 代码)
    数值分析实验之矩阵的LU分解及在解线性方程组中的应用(MATLAB 代码)
    数值分析实验之矩阵的LU分解及在解线性方程组中的应用(Python 代码)
    数值分析实验之数值积分法(MATLAB代码)
    在python3中安装mysql扩展,No module named 'ConfigParser'
  • 原文地址:https://www.cnblogs.com/ShenG1/p/5895605.html
Copyright © 2011-2022 走看看