CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

datagrid中如何绑定下拉列表

楼主qsmrbyf(qs)2003-08-03 12:46:37 在 .NET技术 / ASP.NET 提问

我在datagrid中用模板列加入了下拉列表控件,代码如下:  
  <asp:TemplateColumn   HeaderText="品种标号">  
   
  <ItemTemplate>  
  <asp:DropDownList   id="pzph"   runat="server"   Width="109px"     SelectedIndex   ='<%#   DataBinder.Eval(Container,   "DataItem.pzbh")   %>'>  
  </asp:DropDownList>  
  </ItemTemplate>  
   
   
   
   
  <FooterTemplate>  
  <asp:DropDownList   id="newpzbh"   runat="server"   Width="109px"></asp:DropDownList>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  显示时,可以显示出来,但我需要在窗口打开时,将一个字典库中的数据检索出来放入下拉列表框中,我采用了以下代码:  
  .......  
    pzbh.datasource   =   dspagedata.tables("snpz").defaultview  
          pzbh.DataValueField   =   "pzbh"  
          pzbh.DataTextField   =   "pzbh"  
          pzbh.dbtabind  
      End   If  
   
  运行时提示以下错误:  
   
  编译器错误信息:   BC30451:   名称“pzbh”未声明。  
   
  源错误:  
   
     
   
  行   97:           dbcommand.fill(dspagedata,"snpz")  
  行   98:        
  行   99:           pzbh.datasource   =   dspagedata.tables("snpz").defaultview  
  行   100:         pzbh.DataValueField   =   "pzbh"  
  行   101:         pzbh.DataTextField   =   "pzbh"  
     
  不知该如何进行处理,请指教。  
  问题点数:100、回复次数:26Top

1 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 12:51:55 得分 90

Dim   pzbh   As   DropDownList   =   CType(myGrid1.FindControl("pzbh"),   DropDownList)  
  pzbh.datasource   =   dspagedata.tables("snpz").defaultview  
  pzbh.DataValueField   =   "pzbh"  
  pzbh.DataTextField   =   "pzbh"  
  pzbh.dbtabindTop

2 楼niqiu322(孤寂的天蝎)回复于 2003-08-03 12:54:28 得分 5

http://expert.csdn.net/Expert/topicview.asp?id=2032092Top

3 楼hfma2000(hfma2000)回复于 2003-08-03 13:25:30 得分 0

OutcastXP的方法好。Top

4 楼golook(过路客)回复于 2003-08-03 14:23:10 得分 0

可以,Quickstrart里有的!Top

5 楼liguiman(li)回复于 2003-08-03 14:37:23 得分 0

OutcastXP的方法可以  
  还可以写成  
  Dim   pzbh   As   DropDownList   =   CType(Page.FindControl("pzbh"),   DropDownList)  
  pzbh.datasource   =   dspagedata.tables("snpz").defaultview  
  pzbh.DataValueField   =   "pzbh"  
  pzbh.DataTextField   =   "pzbh"  
  pzbh.dbtabind  
   
  就是这个不一样  
  CType(Page.FindControl("pzbh"),   DropDownList)  
   
   
  Top

6 楼chnking(kent)回复于 2003-08-03 14:38:09 得分 5

<asp:DropDownList   DataSource="<%#   dspagedata%>"   DataMember="<%#   snpz%>"   DataTextField="pzbh"   DataValueField="pzbh"   id="pzph"   runat="server"   Width="109px"     SelectedIndex   ='<%#   DataBinder.Eval(Container,   "DataItem.pzbh")   %>'>Top

7 楼qsmrbyf(qs)回复于 2003-08-03 16:49:13 得分 0

liguiman(li)老兄,我用你的方法,运行时提示  
   
  编译器错误信息:   BC30456:   “dbtabind”不是“System.Web.UI.WebControls.DropDownList”的成员。  
  源错误:  
   
     
   
  行   98:   pzbh.DataTextField   =   "pzbh"  
  行   99:    
  行   100:         pzbh.dbtabind  
  行   101:     End   If  
  行   102:  
   
  源文件:   http://localhost/snyx/htgl/htsr.aspx         行:   100    
   
  请指教Top

8 楼shixueli(我们总是不能随心所欲)回复于 2003-08-03 16:59:43 得分 0

是DataBind()!!  
  not  
  dbtabindTop

9 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 17:09:08 得分 0

是你的那个地方写错了  
  我也就跟你写错了  
  是DataBind  
   
  哈哈哈哈哈Top

10 楼qsmrbyf(qs)回复于 2003-08-03 17:22:04 得分 0

OutcastXP(敲木鱼的老和尚),非常感谢你,我现在还没有调试成功,现在,运行时出现这样的错误。  
   
   
  “/snyx”应用程序中的服务器错误。  
  --------------------------------------------------------------------------------  
   
  未将对象引用设置到对象的实例。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。  
  请指教。  
  Top

11 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 17:26:58 得分 0

那我问你,你的datagrid的名字是啥?  
  你把你的代码贴出来看看Top

12 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 17:27:43 得分 0

还有你的数据源有问题吗?Top

13 楼qsmrbyf(qs)回复于 2003-08-03 17:32:18 得分 0

我的datagrid是:  
  asp:datagrid   id="Datagrid1"  
  数据源没有问题,如果将下拉列表放在网页的其他地方都能将数据绑定进去,但用模板列放在datagrid里面就不行了。Top

14 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 18:02:25 得分 0

Dim   pzbh   As   DropDownList   =   CType(Datagrid1.FindControl("pzbh"),   DropDownList)  
  pzbh.datasource   =   dspagedata.tables("snpz").defaultview  
  pzbh.DataValueField   =   "pzbh"  
  pzbh.DataTextField   =   "pzbh"  
  pzbh.DataBind  
   
  你再试一下Top

15 楼qsmrbyf(qs)回复于 2003-08-03 18:18:08 得分 0

OutcastXP(敲木鱼的老和尚)    
  非常感谢你,我用你上面的代码试了,还是不行,是不是你这段代码我放的事件不对,我是将它放在了sub   page_load(byval   sender   as   object,byval   e   as   eventargs)里面,另外,你有没有用vb做的例子,可以给我发一个吗,我的邮箱是  
  xys_yf@sohu.comTop

16 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 18:26:28 得分 0

你把他放在ItemDataBound事件里:  
   
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   System.Web.UI.WebControls.DataGridItemEventArgs)   Handles   myGrid1.ItemDataBound  
                  Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
                  pzbh.DataSource   =   dspagedata.tables("snpz").defaultview  
                  pzbh.DataValueField   =   "pzbh"  
                  pzbh.DataTextField   =   "pzbh"  
                  pzbh.DataBind()  
          End   SubTop

17 楼qsmrbyf(qs)回复于 2003-08-03 18:47:37 得分 0

我的代码如下,但运行时还是提示未将对象引用设置到对象的实例  
   
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
                 
            dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
           
           
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
   
           
   
          sql1   =   "select   pzbm,pzbh   from   pz"  
                 
                  Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
                  pzbh.DataSource   =   dspagedata.tables("snpz").defaultview  
                pzbh.DataValueField   =   "pzbh"  
                  pzbh.DataTextField   =   "pzbh"  
                  pzbh.DataBind()  
          End   Sub  
  Top

18 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 18:58:45 得分 0

你是用Oracle数据库?Top

19 楼qsmrbyf(qs)回复于 2003-08-03 19:07:35 得分 0

是的Top

20 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 19:25:56 得分 0

你把你的程序这一部分发给我,我帮你作好给你Top

21 楼qsmrbyf(qs)回复于 2003-08-03 19:33:10 得分 0

谢谢您  
   
   
  <%@   Page   Language="vb"%>  
  <%@   import   namespace="system.data.oledb"%>  
  <%@   import   namespace="system.data"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <title>dj</title>  
  <meta   content="Microsoft   Visual   Studio   .NET   7.0"   name="GENERATOR">  
  <meta   content="Visual   Basic   7.0"   name="CODE_LANGUAGE">  
  <meta   content="JavaScript"   name="vs_defaultClientScript">  
  <meta   content="http://schemas.microsoft.com/intellisense/ie5"   name="vs_targetSchema">  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:datagrid   id="Datagrid1"   style="Z-INDEX:   101"   runat="server"   Font-Name="Verdana"   PageSize="3"   Width="446px"   AutoGenerateColumns="False"     AllowSorting="True"   ShowFooter="True"   OnItemDataBound="myGrid1_ItemDataBound">  
  <Columns>  
  <asp:TemplateColumn   HeaderText="品种标号">  
  <ItemTemplate>  
  <asp:DropDownList   id="pzbh"   runat="server"   Width="109px"   SelectedIndex   ='<%#   DataBinder.Eval(Container,   "DataItem.pzbh")   %>'>  
  </asp:DropDownList>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:DropDownList   id="newpzbh"   runat="server"   Width="109px"></asp:DropDownList>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="单价">  
  <ItemTemplate>  
  <asp:TextBox   id="dj"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.dj")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newdj"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="数量">  
  <ItemTemplate>  
  <asp:TextBox   id="sl"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.sl")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newsl"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="金额">  
  <ItemTemplate>  
  <asp:TextBox   id="je"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.je")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newje"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="Delete   Contact">  
  <ItemStyle   HorizontalAlign="Center"></ItemStyle>  
  <ItemTemplate>  
  <asp:CheckBox   Runat="server"   ID="chkDelete"></asp:CheckBox>  
  </ItemTemplate>  
  <FooterStyle   HorizontalAlign="Center"></FooterStyle>  
  <FooterTemplate>  
  <asp:LinkButton   Runat="server"   Text="增加"   commandname="Add"   ID="Linkbutton1"></asp:LinkButton>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  </Columns>  
  </asp:datagrid>  
  <script   runat="server">  
   
       
  sub   page_load(byval   sender   as   object,byval   e   as   eventargs)  
   
   
      If   Not   Page.IsPostBack   Then  
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql   as   string  
          dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql   =   "select   pzbh,dj,sl,je   from   htxx2"  
            dbcommand   =   new   oledbdataadapter(sql,dbconn)  
            dbcommand.fill(dspagedata,"Contact")  
            DataGrid1.datasource=dspagedata.tables("Contact").defaultview  
              dspagedata.acceptchanges  
            DataGrid1.databind  
   
   
      End   If  
   
  end   sub  
   
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
                 
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
     
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql1   =   "select   pzbm,pzbh   from   pz"  
            dbcommand   =   new   oledbdataadapter(sql1,dbconn)  
            dbcommand.fill(dspagedata,"snpz")  
            Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
               
              pzbh.DataSource   =   dspagedata.tables("snpz").defaultview  
              pzbh.DataValueField   =   "pzbh"  
              pzbh.DataTextField   =   "pzbh"  
              pzbh.DataBind()  
              End   Sub  
   
  </script>  
  </form>  
  </body>  
  </HTML>Top

22 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 20:47:32 得分 0

Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
                 
          Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
  If   pzbh   Is   Nothing   Then  
  Else  
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
     
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql1   =   "select   pzbm,pzbh   from   pz"  
            dbcommand   =   new   oledbdataadapter(sql1,dbconn)  
            dbcommand.fill(dspagedata,"snpz")  
             
               
              pzbh.DataSource   =   dspagedata.tables("snpz").defaultview  
              pzbh.DataValueField   =   "pzbh"  
              pzbh.DataTextField   =   "pzbh"  
              pzbh.DataBind()  
  end   if  
  End   SubTop

23 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 20:56:48 得分 0

<%@   Page   Language="vb"%>  
  <%@   import   namespace="system.data.oledb"%>  
  <%@   import   namespace="system.data"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <title>dj</title>  
  <meta   content="Microsoft   Visual   Studio   .NET   7.0"   name="GENERATOR">  
  <meta   content="Visual   Basic   7.0"   name="CODE_LANGUAGE">  
  <meta   content="JavaScript"   name="vs_defaultClientScript">  
  <meta   content="http://schemas.microsoft.com/intellisense/ie5"   name="vs_targetSchema">  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:datagrid   id="Datagrid1"   style="Z-INDEX:   101"   runat="server"   Font-Name="Verdana"   PageSize="3"   Width="446px"   AutoGenerateColumns="False"     AllowSorting="True"   ShowFooter="True"   OnItemDataBound="myGrid1_ItemDataBound">  
  <Columns>  
  <asp:TemplateColumn   HeaderText="品种标号">  
  <ItemTemplate>  
  <asp:DropDownList   id="pzbh"   runat="server"   Width="109px">  
  </asp:DropDownList>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:DropDownList   id="newpzbh"   runat="server"   Width="109px"></asp:DropDownList>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="单价">  
  <ItemTemplate>  
  <asp:TextBox   id="dj"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.dj")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newdj"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="数量">  
  <ItemTemplate>  
  <asp:TextBox   id="sl"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.sl")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newsl"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="金额">  
  <ItemTemplate>  
  <asp:TextBox   id="je"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.je")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newje"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="Delete   Contact">  
  <ItemStyle   HorizontalAlign="Center"></ItemStyle>  
  <ItemTemplate>  
  <asp:CheckBox   Runat="server"   ID="chkDelete"></asp:CheckBox>  
  </ItemTemplate>  
  <FooterStyle   HorizontalAlign="Center"></FooterStyle>  
  <FooterTemplate>  
  <asp:LinkButton   Runat="server"   Text="增加"   commandname="Add"   ID="Linkbutton1"></asp:LinkButton>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:BoundColumn   Visible="False"   DataField="pzbh"></asp:BoundColumn>  
  </Columns>  
  </asp:datagrid>  
  <script   runat="server">  
   
       
  sub   page_load(byval   sender   as   object,byval   e   as   eventargs)  
   
   
      If   Not   Page.IsPostBack   Then  
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql   as   string  
          dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql   =   "select   pzbh,dj,sl,je   from   htxx2"  
            dbcommand   =   new   oledbdataadapter(sql,dbconn)  
            dbcommand.fill(dspagedata,"htxx2")  
            DataGrid1.datasource=dspagedata.tables("htxx2").defaultview  
              dspagedata.acceptchanges  
            DataGrid1.databind  
   
   
      End   If  
   
  end   sub  
   
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
           
  Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
                  If   pzbh   Is   Nothing   Then  
                  Else        
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
     
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql1   =   "select   pzbm,pzbh   from   pz"  
            dbcommand   =   new   oledbdataadapter(sql1,dbconn)  
            dbcommand.fill(dspagedata,"snpz")  
               
              pzbh.DataSource   =   dspagedata.tables("pz").defaultview  
              pzbh.DataValueField   =   "pzbh"  
              pzbh.DataTextField   =   "pzbh"  
              pzbh.DataBind()  
  pzbh.Items.FindByText(e.Item.Cells(5).Text).Selected   =   True  
  End   If  
  End   Sub  
   
  </script>  
  </form>  
  </body>  
  </HTML>  
  Top

24 楼OutcastXP(敲木鱼的老和尚)回复于 2003-08-03 20:58:25 得分 0

<%@   Page   Language="vb"%>  
  <%@   import   namespace="system.data.oledb"%>  
  <%@   import   namespace="system.data"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <title>dj</title>  
  <meta   content="Microsoft   Visual   Studio   .NET   7.0"   name="GENERATOR">  
  <meta   content="Visual   Basic   7.0"   name="CODE_LANGUAGE">  
  <meta   content="JavaScript"   name="vs_defaultClientScript">  
  <meta   content="http://schemas.microsoft.com/intellisense/ie5"   name="vs_targetSchema">  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:datagrid   id="Datagrid1"   style="Z-INDEX:   101"   runat="server"   Font-Name="Verdana"   PageSize="3"   Width="446px"   AutoGenerateColumns="False"     AllowSorting="True"   ShowFooter="True"   OnItemDataBound="myGrid1_ItemDataBound">  
  <Columns>  
  <asp:TemplateColumn   HeaderText="品种标号">  
  <ItemTemplate>  
  <asp:DropDownList   id="pzbh"   runat="server"   Width="109px">  
  </asp:DropDownList>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:DropDownList   id="newpzbh"   runat="server"   Width="109px"></asp:DropDownList>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="单价">  
  <ItemTemplate>  
  <asp:TextBox   id="dj"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.dj")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newdj"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="数量">  
  <ItemTemplate>  
  <asp:TextBox   id="sl"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.sl")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newsl"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="金额">  
  <ItemTemplate>  
  <asp:TextBox   id="je"   runat="server"   Width="109px"   Text='<%#   DataBinder.Eval(Container,   "DataItem.je")   %>'>  
  </asp:TextBox>  
  </ItemTemplate>  
  <FooterTemplate>  
  <asp:TextBox   id="newje"   runat="server"   Width="109px"></asp:TextBox>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:TemplateColumn   HeaderText="Delete   Contact">  
  <ItemStyle   HorizontalAlign="Center"></ItemStyle>  
  <ItemTemplate>  
  <asp:CheckBox   Runat="server"   ID="chkDelete"></asp:CheckBox>  
  </ItemTemplate>  
  <FooterStyle   HorizontalAlign="Center"></FooterStyle>  
  <FooterTemplate>  
  <asp:LinkButton   Runat="server"   Text="增加"   commandname="Add"   ID="Linkbutton1"></asp:LinkButton>  
  </FooterTemplate>  
  </asp:TemplateColumn>  
  <asp:BoundColumn   Visible="False"   DataField="pzbh"></asp:BoundColumn>  
  </Columns>  
  </asp:datagrid>  
  <script   runat="server">  
   
       
  sub   page_load(byval   sender   as   object,byval   e   as   eventargs)  
   
   
      If   Not   Page.IsPostBack   Then  
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql   as   string  
          dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql   =   "select   pzbh,dj,sl,je   from   htxx2"  
            dbcommand   =   new   oledbdataadapter(sql,dbconn)  
            dbcommand.fill(dspagedata,"htxx2")  
            DataGrid1.datasource=dspagedata.tables("htxx2").defaultview  
              dspagedata.acceptchanges  
            DataGrid1.databind  
   
   
      End   If  
   
  end   sub  
   
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
           
  Dim   pzbh   As   DropDownList   =   CType(e.Item.FindControl("pzbh"),   DropDownList)  
                  If   pzbh   Is   Nothing   Then  
                  Else        
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
     
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql1   =   "select   pzbm,pzbh   from   pz"  
            dbcommand   =   new   oledbdataadapter(sql1,dbconn)  
            dbcommand.fill(dspagedata,"pz")  
               
              pzbh.DataSource   =   dspagedata.tables("pz").defaultview  
              pzbh.DataValueField   =   "pzbh"  
              pzbh.DataTextField   =   "pzbh"  
              pzbh.DataBind()  
  pzbh.Items.FindByText(e.Item.Cells(5).Text).Selected   =   True  
  End   If  
  End   Sub  
   
  </script>  
  </form>  
  </body>  
  </HTML>Top

25 楼qsmrbyf(qs)回复于 2003-08-04 08:07:09 得分 0

非常感谢您,我将你最后贴的代码在我机器上调试,发现在  
  Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
    事件else里面的这些代码  
   
   
      Else        
                 
          dim   dbcommand   as   new   oledbdataadapter  
          dim   dbconn   as   oledbconnection  
          dim   dspagedata   as   new   dataset  
          dim   sql1   as   string  
     
            dbconn   =   new   oledbconnection("Provider=MSDAORA.1;Password=snyx;User   ID=snyx;data   source=snyx.world")  
            sql1   =   "select   pzbm,pzbh   from   pz"  
            dbcommand   =   new   oledbdataadapter(sql1,dbconn)  
            dbcommand.fill(dspagedata,"pz")  
               
              pzbh.DataSource   =   dspagedata.tables("pz").defaultview  
              pzbh.DataValueField   =   "pzbh"  
              pzbh.DataTextField   =   "pzbh"  
              pzbh.DataBind()  
  pzbh.Items.FindByText(e.Item.Cells(5).Text).Selected   =   True  
  都没有执行,不知是怎么回事,但不管怎样我都非常感谢您  
  Top

26 楼bqljb(退休战士)回复于 2003-08-04 09:03:04 得分 0

Private   Sub   myGrid1_ItemDataBound(ByVal   sender   As   Object,   ByVal   e   As   DataGridItemEventArgs)  
  后面加上:   Handles   myGrid1.ItemDataBound  
   
  Top

相关问题

  • Windows程序绑定下拉列表框问题
  • 如何锁定下拉列表框值
  • winform中,如何在DataGrid中绑定下拉列?
  • 邦定下拉列表时出现的问题
  • 请问如何锁定下拉列表框?
  • 请问如何锁定下拉列表框?
  • 请问如何锁定下拉列表框?
  • [跪求]怎样固定下拉列表的宽度!
  • 在datagrid模版列中如何在编辑状态把一个bool字段绑定到下拉列表?
  • 如何用DataGrid做出如图列表

关键词

得分解答快速导航

  • 帖主:qsmrbyf
  • OutcastXP
  • niqiu322
  • chnking

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo