tempad
ReadyGo!技术成就梦想 >>服务器 >> 关于dropdowlist的默认值、选取,请大家帮忙???????????????????

关于dropdowlist的默认值、选取,请大家帮忙???????????????????

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-14 1:24:15

关于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

责任编辑: efish 参与评论 查找更多:
相关文章
怎样检测下载速度? 怎样检测下载速度?
高兴每人20分!!!! 高兴每人20分!!!!
用直接写口的方法操作串口的问题? 用直接写口的方法操作串口的问题?
关于注册表的问题,高手请进! 关于注册表的问题,高手请进!
tomcat4中怎样设置classpath? tomcat4中怎样设置classpath?
高手们请问怎么在bc++3.1中显示图片 高手们请问怎么在bc++3.1中显示图片
我把书翻遍了都不知怎做,救救小生!!!! 我把书翻遍了都不知怎做,救救小生!!!!
关于列表框的两个基本问题,高分求救!(100分)对于… 关于列表框的两个基本问题,高分求救!(100分)对于知道的人来说就是送分!!
关于80486的一道汇编程序题! 关于80486的一道汇编程序题!
为什么受伤的总是我? 关注 关注 !!!!! 为什么受伤的总是我? 关注 关注 !!!!!
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想