关于dropdowlist的默认值、选取,请大家帮忙???????????????????
关于dropdowlist的默认值、选取,请大家帮忙???????????????????
楼主ireance(小女子,很菜!T_T)2002-03-13 12:24:56 在 .NET技术 / ASP.NET 提问 下面是这个小程序的完整代码。
分别是对 政治面貌 dropdownlist1 和 所在部门 dropdownlist4 的绑定
赋给默认选项(根据每一条记录的具体值而来)、更改其选项得到其新的选项
现在 政治面貌 dropdownlist1 已经完全没有问题
而 所在部门 dropdownlist4 数据选项列可以绑定上
只是在根据数据库记录赋给默认值 和 更改其选项后得到新值的时候有问题
请指教?????????????????????
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLclient" %>
<script language="VB" runat="server">
sub page_load(sender as object,e as eventargs)
id = 38 "数据库里数据表中存在的一条记录
if not page.ispostback then
Dim objds1 As DataSet
Dim MyConnection1 As SQLConnection
Dim MyCommand1 As SQLDataAdapter
MyConnection1 = New SQLConnection("server="ireance";uid=sa;pwd=;database=HR")
MyCommand1 = New SQLDataAdapter("select * from tbldepartment where dp_id>1",MyConnection1)
objds1 = New DataSet()
MyCommand1.Fill(objds1, "department")
dropdownlist4.datasource=objds1.tables("department").DefaultView
dropdownlist4.databind()
MyConnection1 = Nothing
"以上是给 所在部门 dropdownlist4 绑定数据选项列值
"以下是给 政治面貌 dropdownlist1 根据数据库赋给默认值
Dim objds As DataSet
Dim MyConnection As SQLConnection
Dim MyCommand As SQLDataAdapter
MyConnection = New SQLConnection("server="ireance";uid=sa;pwd=;database=HR")
MyCommand = New SQLDataAdapter("select * from tbluser where us_id="" & id & """,MyConnection)
objds = New DataSet()
MyCommand.Fill(objds, "user")
Dim Row As DataRow
Row=objds.Tables("user").Rows(0)
dropdownlist1.SelectedIndex=cint(row("us_polity"))
Dim ds1 As DataSet
Dim MyCtion1 As SQLConnection
Dim MyCmd1 As SQLDataAdapter
MyCtion1 = New SQLConnection("server="ireance";uid=sa;pwd=;database=HR")
MyCmd1 = New SQLDataAdapter("select dp_id,dp_name from tbldepartment where dp_id="" & row("us_dpid") & """,MyCtion1)
ds1 = New DataSet()
MyCmd1.Fill(ds1, "dept")
Dim Row1 As DataRow
Row1=ds1.Tables("dept").Rows(0)
dropdownlist4.selecteditem.text=row1("dp_name")
dropdownlist4.selecteditem.value=row1("dp_id")
‘ 以上是给 所在部门 dropdownlist4 绑定默认值
end if
end sub
Sub user_modify(Source As Object,E as EventArgs)
Dim polity As string
Dim depart As string
polity=dropdownlist1.selecteditem.value
depart=dropdownlist4.SelectedItem.value
Dim objds As DataSet
Dim objCtn As SQLConnection=New SQLConnection("server="ireance";uid=sa;pwd=;database=HR")
Dim objCmd As SQLcommand=New SQLcommand( "update tbluser set us_polity="" & polity & "",us_dpid="" & depart & "" where us_id="" & id & """,objCtn)
objCtn.open()
Try
objCmd.ExecuteNonQuery()
lblshow2.Text="<font color="red" size="4pt">修改成功!</font>"
Catch exp As SQLException "检查错误信息
lblshow2.Text="<font color="red" size="4pt">修改失败!</font>"
End Try
End sub
</script>
<HTML>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server" action="modify.aspx" >
<FONT face="宋体" color="#778899">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 370px; POSITION: absolute; TOP: 30px" runat="server" Width="257px" Height="39px" Font-Names="隶书" Font-Size="X-Large">员工档案信息修改</asp:Label>
<asp:table id=table1 runat=server ForeColor="#ffffff" BackColor="#708090" BorderStyle="Solid" CellSpacing="-1" Cellpadding="-1" width=600 Height="200px" style="Z-INDEX: 102; LEFT: 208px; POSITION: absolute; TOP: 75px">
<asp:tablerow Height="35px">
<asp:tablecell width=70 text="政治面貌" />
<asp:tablecell><asp:DropDownList id="DropDownList1" runat="server" Width="100px" Height="19px" >
<asp:ListItem Value="0" > 党员</asp:ListItem>
<asp:ListItem Value="1" >群众</asp:ListItem>
<asp:ListItem Value="2">其它</asp:ListItem>
</asp:DropDownList>
</asp:tablecell>
<asp:tablecell width=70 text="所在部门" />
<asp:tablecell><asp:DropDownList id="DropDownList4" datavaluefield="dp_id" datatextfield="dp_name" runat="server" Width="110px" Height="19px" text="请选择"></asp:DropDownList>
</asp:tablecell>
</asp:tablerow>
</asp:table>
<asp:Label id="lblError" runat="server" BackColor="#FFE0C0" style="Z-INDEX: 102; LEFT:0px; POSITION: absolute; TOP: 280px" width="205px">
<asp:ValidationSummary id="validSummary" runat="server" />
</asp:Label>
<asp:label id="lblshow" runat="server" Font-Name="Vernada" Font-Size="8pt" Font-color="red" style="Z-INDEX: 102; LEFT:0px; POSITION: absolute; TOP: 280px" width="205px" /><br>
<asp:label id="lblshow2" runat="server" Font-Name="Vernada" Font-Size="8pt" Font-color="red" style="Z-INDEX: 102; LEFT:0px; POSITION: absolute; TOP: 320px" width="205px" /><br>
<asp:Button id="Button1" style="Z-INDEX: 148; LEFT: 410px; POSITION: absolute; TOP: 350px" runat="server" Width="60px" Height="28px" Text="修改" Onclick="user_modify"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 149; LEFT: 520px; POSITION: absolute; TOP: 350px" runat="server" Width="60px" Height="28px" Text="取消"></asp:Button>
</FONT>
</form>
</body>
</HTML> 问题点数:20、回复次数:6Top
1 楼icyer()回复于 2002-03-13 12:43:27 得分 3
在这一句
Row1=ds1.Tables("dept").Rows(0)
之后执行:
DropDownList4.DataBind()
Top
2 楼ireance(小女子,很菜!T_T)回复于 2002-03-13 13:15:29 得分 0
不对!!和原来一样!没起作用!Top
3 楼zhq2000(方舟)回复于 2002-03-13 14:31:14 得分 17
Dim Row1 As DataRow
Row1=ds1.Tables("dept").Rows(0)
"""""dropdownlist4.selecteditem.text=row1("dp_name")
"""""dropdownlist4.selecteditem.value=row1("dp_id")
dropdownlist4.SelectedItem.Selected = false
dropdownlist4.Items.FindByText( row1("dp_name").ToString() ).Selected = true;
Top
4 楼ireance(小女子,很菜!T_T)回复于 2002-03-13 14:40:21 得分 0
zhq2000(俗子) 谢谢你帮我搞定它!!!
以后还请多多指教!!
小妹在此谢过!!Top
5 楼ireance(小女子,很菜!T_T)回复于 2002-03-13 14:51:25 得分 0
对了,zhq2000(俗子) ,请问可不可以解释一下
dropdownlist4.SelectedItem.Selected = false
dropdownlist4.Items.FindByText( row1("dp_name").ToString() ).Selected = true
后一句话的意思???Top
6 楼zhq2000(方舟)回复于 2002-03-13 17:14:59 得分 0
DropDownList的成员Items 的类型是 ListItemCollection ,
它的方法中有两个用于定位项的方法:
function FindByText( ItemText As string ) As ListItem
这个方法是通过列表项的Text属性的值来定位(查找)。
function FindByValue( ItemValue As string ) As ListItem
这个方法则是通过列表项的value属性的值来定位(查找)。
dropdownlist4.Items.FindByText( row1("dp_name").ToString() ).Selected = true
就是找到列表项中Text值等于 row1("dp_name")的值的那一项,并且选中它!
其实可以分解为:
Dim item As ListItem = dropdownlist4.Items.FindByText( row1("dp_name").ToString() )
item.Selected = true
有一点要注意的是,由于 DropDownList 中的项只能是单选,所以在通过Selected属性选中项时,一定要先将前一个被选中的项的selected设为false,否则将会出错;但是,通过DropDownList.SelectedIndex来选中项时不会发生这种错误!Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn
