• 关于下拉菜单(dropdownlist)一些用法心得


    asp.net学习地址 :http://www.cnblogs.com/limshirley/

    1.与数据库绑定 
    SqlConnection conn= new 
    SqlConnection(ConfigurationSettings.AppSettings["job"]);//数据库连接信息 
    SqlCommand myCommand = new SqlCommand( "select * from info", conn ); //SQL命令 
    myCommand.Connection.Open(); //打开数据库 
    SqlDataReader myReader = myCommand.ExecuteReader(); //获取数据 
    while ( myReader.Read() ) 

    DropDownList.Items.Add( new ListItem( 
    myReader["depsimplename"].ToString(),myReader["depcode"].ToString()));//增加dropwoenlist项


    myCommand.Connection.Close(); //关闭数据库

    若要指定绑定后的数据选定项 
    可使用DropDownList.Items.FindByText("name").Selected=true或者 
    DropDownList.Items.FindByValue("code").Selected=true 
    另外也可从数据库中获得选定项(比如修改信息的时候) 
    可使用先用数据库填充一个DateSet--ds,然后使用DropDownList.Items.FindByValue/*或者FindByText*/(ds.Tables[0].Rows[0].ItemArray[0].ToString()).Selected=true;

    2.查询用法 
    对于单个下拉菜单查询我一般直接使用SelectedIndexChanged事件,使用这个事件千万别忘记把下拉菜单的AutoPostBack属性设为true! 
    private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs 
    e) 

    strSQL="select * from info where 
    name="+DropDownList.SelectedItem.Text;//SQL命令与选项绑定 
    ...//再执行这个命令即可 

    而对于多个下拉菜单联合查询我则使用增加一个按钮,这样更方便 
    private void Button1_Click(object sender, System.EventArgs e) 

    strSQL="select * from info where name1 like 
    '%"+DropDownList1.SelectedItem.Text+"' and name2 like 
    '%"+DropDownList2.SelectedItem.Text+"' ;//请注意我用的是like 
    Admin.cc Detail=new Admin.cc();//自己定义的一个类,Detail的返回值是一个dataset 
    infoDataGrid.DataSource = 
    Detail.Display(strSQL.Replace("全部",""));//联合查询中用户往往不会把使用所有的下拉菜单,所以我加了一个'全部'的选项,不知道你们看到这里明不明白我为什么要使用like了,呵呵 
    infoDataGrid.DataBind(); 

    1.与数据库绑定 
    SqlConnection conn= new 
    SqlConnection(ConfigurationSettings.AppSettings["job"]);//数据库连接信息 
    SqlCommand myCommand = new SqlCommand( "select * from info", conn ); //SQL命令 
    myCommand.Connection.Open(); //打开数据库 
    SqlDataReader myReader = myCommand.ExecuteReader(); //获取数据 
    while ( myReader.Read() ) 

    DropDownList.Items.Add( new ListItem( 
    myReader["depsimplename"].ToString(),myReader["depcode"].ToString()));//增加dropwoenlist项


    myCommand.Connection.Close(); //关闭数据库

    若要指定绑定后的数据选定项 
    可使用DropDownList.Items.FindByText("name").Selected=true或者 
    DropDownList.Items.FindByValue("code").Selected=true 
    另外也可从数据库中获得选定项(比如修改信息的时候) 
    可使用先用数据库填充一个DateSet--ds,然后使用DropDownList.Items.FindByValue/*或者FindByText*/(ds.Tables[0].Rows[0].ItemArray[0].ToString()).Selected=true;

    2.查询用法 
    对于单个下拉菜单查询我一般直接使用SelectedIndexChanged事件,使用这个事件千万别忘记把下拉菜单的AutoPostBack属性设为true! 
    private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs 
    e) 

    strSQL="select * from info where 
    name="+DropDownList.SelectedItem.Text;//SQL命令与选项绑定 
    ...//再执行这个命令即可 

    而对于多个下拉菜单联合查询我则使用增加一个按钮,这样更方便 
    private void Button1_Click(object sender, System.EventArgs e) 

    strSQL="select * from info where name1 like 
    '%"+DropDownList1.SelectedItem.Text+"' and name2 like 
    '%"+DropDownList2.SelectedItem.Text+"' ;//请注意我用的是like 
    Admin.cc Detail=new Admin.cc();//自己定义的一个类,Detail的返回值是一个dataset 
    infoDataGrid.DataSource = 
    Detail.Display(strSQL.Replace("全部",""));//联合查询中用户往往不会把使用所有的下拉菜单,所以我加了一个'全部'的选项,不知道你们看到这里 
    明不明白我为什么要使用like了,呵呵 
    infoDataGrid.DataBind(); 
    }

    添加DorpDownList控件的Item子项的三种方法

    DropDownList控件与ListBox控件最终将会被解析成为代码< select >< /select >

    DropDownList控件的定义:

    <asp:DropDownList id="DropDownList1" runat="server"
    DataSource="<% databindingexpression %>"
    DataTextField="DataSourceField"
    DataValueField="DataSourceField"
    AutoPostBack="True|False"
    OnSelectedIndexChanged="OnSelectedIndexChangedMethod" />

    <asp:Listitem value="value" selected="True|False">
    Text
    </asp:Listitem>

    </asp:DropDownList>

    DataSource、DataTextField、DataValueField这三个属性的应用需要涉及DataBind的知识AutoPostBack属性:表示当DropDownList控件的所选项发生改变后,自动提交当前页面OnSeletedIndexChanged事件在DropDownList控件所选项发生变化后发生。

    DropDownList控件的SelectedItem对象表示在执行过程中被选中的Item项、Item项拥有三个属性。其一为Text,其二为Value它们分别表示Item项所显示的文字与所表示的值,如果Value属性没有设置,则默认Value属性值等Text属性,第三个属性Selected则用于判断某Item项是否被选中添加DorpDownList控件的Item子项。


    添加DorpDownList控件的Item子项的方法有三种:


    第一种:使用<asp:ListItem>方法

    <asp:DropDownList id="weste" runat="server">
              <asp:ListItem Value="0">小学</asp:ListItem>
              <asp:ListItem Value="1">中学</asp:ListItem>
              <asp:ListItem Value="2">大学</asp:ListItem>
    </asp:DropDownList>

    第二种:使用Items属性的Add方法1

    DropDownList.Items.Add(ItemText)

    Items属性表示DropDownList控件所有Item项的集合,Add操作既是在这个集合中插入新的Item项。第二种方法用于只设定Item项的Text属性(实际上也指定了Value属性,此时Value属性值等于Text属性值)。

    第三种:使用Items属性的Add方法2

    DropDownListItems.Add(new ListItem(ItemText,ItemValue))

    第三种方法同时设定了Item项的Text属性与Value属性,它是通过添加一个ListItem类来实现的。ListItem类使用了两个参数,第一个参数表示Text属性值,第二个参数表示Value属性值。

  • 相关阅读:
    函数高阶(函数,改变函数this指向,高阶函数,闭包,递归)
    案例:新增数组方法
    案例:商品查询
    案例:forEach和some区别
    ES5新增方法(数组,字符串,对象)
    案例:借用父构造函数继承属性和方法
    构造函数 和 原型
    汽车小常识别让六大汽车驾驶软肋阻碍你
    Opencv 图像增强和亮度调整<6>
    C# StringBulider用法<1>
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1995197.html
Copyright © 2020-2023  润新知