后台可以把数据库查询到的数据放在一个数组或者是集合中,然后使用request.getRequestDispatcher.forward()把数据或者集合传到前台的下拉菜单的页面中,再在前台下拉菜单页面中使用<select><c:foreach><option value='xxx'>来遍历后台传出来的数据或者集合的内容
后台很容易实现,至于前台页面如果你不会jstl和el 的话可以上网看下对应用法,基本认真看的话2个小时就可以掌握基础了
可以用缓存,或在访问这个页面以前准备好下拉列表的数据(在Action中完成),一般都只需要id和name就可以了。取出来后,放入requestScope中,用List和Set都可以,这就根据自己的需求了。到了jsp页面,一般都是这样的:<select name="xxx">
<option>这里是select的默认值</option>
<c:forEach items="${你List或Set的名字}" value="ss">
<option value="${s.id}">${s.name}</option>
</c:forEach>
</select>
上面是List的用法,Set的话,换成ss.key和ss.value就可以了。
最常用的有两种方法,不知道你问的是网页还是Winform1.前台直接绑定(适用于网页)
<asp:DropDownList ID="ddlTest" runat="server" DataSourceID="sdsTest" DataTextField="" DataValueField=""></asp:DropDownList>这是前台下拉列表控件
<asp:SqlDataSource ID="sdsTest" runat="server"></asp:SqlDataSource>这是前台的Datasource控件,有很多种LinQDatasoure,XMLDatasoure等等,使用方法去网上查吧,很多
2.后台绑定(网页,Winform都适用)
首先在Web前台或者Winform页面上声明一个DropdownList控件,比如叫它ddlTest
然后在后台进行绑定,以SqlReader为数据源为例
while(reader.read())
{
ListItem li = new ListItem()
li.text=reader[""]//数据库里读出的某个字段
li.value = reader[""]//同上
ddlTest.Items.Add(li)
}
数据绑定就是这样了
至于选择,DropDownList有一个OnSelectChange事件,可以到里面去取被选中的那一个Item
比如ListItem li = ddlTest.SelectedItem然后取li的Text和Value属性分别为刚才绑上去的两个值
打完,收工!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)