DropDownList

DropDownList用法详解
2009年06月24日 星期三 16:53

关于下拉菜单(dropdownlist)一些用法心得 
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属性值。

你可能感兴趣的:(list)