您的位置:首页 > 运维架构

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

2009-06-17 00:22 471 查看
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属性值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: