如何将选定值从下拉列值传递到SQL表 [英] How to pass selected value from dropdown value into SQL table

查看:75
本文介绍了如何将选定值从下拉列值传递到SQL表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有两个下拉列表,一个下拉列表是数据绑定(站点),另一个是未绑定(仓库),

秒下拉列表将根据1st更改值下拉菜单

我需要将下拉值插入到我的表中,当我选择它插入表格的网站时,但当我选择仓库时,它不会插入我的表格。

我应该如何绑定仓库下拉值?



我尝试过:



这是我的设计代码:

< asp:TemplateField HeaderText =SiteSortExpression =SITE> 
< EditItemTemplate>
< asp:textbox ID =TxtsiteEditrunat =serverText ='<%#Bind(SITE)%>'>< / asp:textbox>
< / EditItemTemplate>
< InsertItemTemplate>
< asp:DropDownList ID =TxtsiteInsertrunat =serverText ='<%#Bind(SITE)%>'
TabIndex =6AutoPostBack =True DataSourceID =inventsite
DataTextField =SITEIDDataValueField =SITEIDOnSelectedIndexChanged =sitedropdown_SelectedIndexChanged>
< / asp:DropDownList>
< / InsertItemTemplate>
< ItemTemplate>
< asp:Label ID =TxtSiterunat =serverText ='<%#Bind(SITE)%>'>< / asp:Label>
< / ItemTemplate>
< / asp:TemplateField>
< asp:TemplateField HeaderText =WarehouseSortExpression =WAREHOUSE>
< EditItemTemplate>
< asp:TextBox ID =TxtWarehouseEditrunat =serverText ='<%#Bind(WAREHOUSE)%>'>< / asp:TextBox>

< / EditItemTemplate>
< InsertItemTemplate>

< asp:DropDownList ID =TxtWarehouseInsertrunat =serverAutoPostBack =True>

< / asp:DropDownList>
< / InsertItemTemplate>
< ItemTemplate>
< asp:Label ID =TxtWarehouserunat =serverText ='<%#Bind(WAREHOUSE)%>'>< / asp:Label>
< / ItemTemplate>
< / asp:TemplateField>



这是我的vb代码:

受保护的子sitedropdown_SelectedIndexChanged(ByVal sender As Object,ByVal e As EventArgs)

Dim IdTxtsiteInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl(TxtsiteInsert),DropDownList)
Response.Cookies(sitedropdownvalue)。Value = IdTxtsiteInsert .SelectedValue


Fillwarehouse(IdTxtsiteInsert.Text)
'Dim IdTxtWarehouseInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl(TxtWarehouseInsert),DropDownList)
'insertwarehouse(IdTxtsiteInsert.Text,IdTxtWarehouseInsert.Text)


End Sub
Public Sub Fillwarehouse(ByVal siteid As String)
'Dim IdTxtWarehouseInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl(TxtWarehouseInsert),DropDownList)
Dim ddr As DropDownList = CType(DetailsView3.Rows(0).FindControl(TxtWarehouseInsert),DropDownList)
Dim STRCON n As String = WebConfigurationManager.ConnectionStrings(BMGINC_DYNAX09_ProdConnectionString)。ConnectionString
Dim con As New SqlConnection(strConn)
Dim cmd As New SqlCommand()
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText =选择InventLocationId,InventLite中的名称,其中InventSiteId ='& siteid& '
cmd.Parameters.AddWithValue(InventSiteId,siteid)
Dim objDs As New DataSet()
Dim dAdapter As New SqlDataAdapter()
dAdapter.SelectCommand = cmd
con.Open()
dAdapter.Fill(objDs)
con.Close()
if objDs.Tables(0).Rows.Count> 0然后
ddr.DataSource = objDs.Tables(0)
ddr.DataTextField =InventLocationId
ddr.DataValueField =InventLocationId
ddr.DataBind()
ddr.Items.Insert(0, - Select-)


否则

LblError.Text =未找到仓库

结束如果
结束子

解决方案





您没有为第二个下拉列表设置事件(选定的索引更改)。



你只需要添加它并实现你的逻辑。



希望它有所帮助。

Hi,
I've two dropdowns one dropdown is databound(site) and another is unbound(warehouse),
second dropdown will change the value based on 1st dropdown
I need to insert the dropdown values to my table, when i select site it is inserting into table but when i select warehouse it isn't inserting into my table.
How should i bind the warehouse dropdown value?

What I have tried:

This is my design code:

<asp:TemplateField HeaderText="Site" SortExpression="SITE">
  <EditItemTemplate>
<asp:textbox ID="TxtsiteEdit" runat="server" Text='<%# Bind("SITE") %>'></asp:textbox>
</EditItemTemplate>
                                                                   <InsertItemTemplate>
    <asp:DropDownList ID="TxtsiteInsert" runat="server" Text='<%# Bind("SITE") %>'
                                                                           TabIndex="6" AutoPostBack="True" DataSourceID="inventsite"
                                                                           DataTextField="SITEID" DataValueField="SITEID"  OnSelectedIndexChanged="sitedropdown_SelectedIndexChanged">
                                                                                                                            </asp:DropDownList>
          </InsertItemTemplate>
    <ItemTemplate>
                                                                       <asp:Label ID="TxtSite" runat="server" Text='<%# Bind("SITE") %>'></asp:Label>
          </ItemTemplate>
          </asp:TemplateField>
            <asp:TemplateField HeaderText="Warehouse" SortExpression="WAREHOUSE">
                                                                   <EditItemTemplate>
                                                                       <asp:TextBox ID="TxtWarehouseEdit" runat="server" Text='<%# Bind("WAREHOUSE") %>'></asp:TextBox>

                                                                   </EditItemTemplate>
                                                                   <InsertItemTemplate>

                                                      <asp:DropDownList ID= "TxtWarehouseInsert" runat="server" AutoPostBack="True"  >

                                                                       </asp:DropDownList>
                                                                   </InsertItemTemplate>
                  <ItemTemplate>
       <asp:Label ID="TxtWarehouse" runat="server" Text='<%# Bind("WAREHOUSE") %>'></asp:Label>
          </ItemTemplate>
     </asp:TemplateField>


This is my vb code:

Protected Sub sitedropdown_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)

       Dim IdTxtsiteInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl("TxtsiteInsert"), DropDownList)
       Response.Cookies("sitedropdownvalue").Value = IdTxtsiteInsert.SelectedValue


       Fillwarehouse(IdTxtsiteInsert.Text)
       'Dim IdTxtWarehouseInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl("TxtWarehouseInsert"), DropDownList)
       'insertwarehouse(IdTxtsiteInsert.Text, IdTxtWarehouseInsert.Text)


   End Sub
   Public Sub Fillwarehouse(ByVal siteid As String)
       'Dim IdTxtWarehouseInsert As DropDownList = CType(DetailsView3.Rows(0).FindControl("TxtWarehouseInsert"), DropDownList)
       Dim ddr As DropDownList = CType(DetailsView3.Rows(0).FindControl("TxtWarehouseInsert"), DropDownList)
       Dim strConn As String = WebConfigurationManager.ConnectionStrings("BMGINC_DYNAX09_ProdConnectionString").ConnectionString
       Dim con As New SqlConnection(strConn)
       Dim cmd As New SqlCommand()
       cmd.Connection = con
       cmd.CommandType = CommandType.Text
       cmd.CommandText = "Select InventLocationId, Name from InventLocation where InventSiteId ='" & siteid & "'"
       cmd.Parameters.AddWithValue("InventSiteId", siteid)
       Dim objDs As New DataSet()
       Dim dAdapter As New SqlDataAdapter()
       dAdapter.SelectCommand = cmd
       con.Open()
       dAdapter.Fill(objDs)
       con.Close()
       If objDs.Tables(0).Rows.Count > 0 Then
           ddr.DataSource = objDs.Tables(0)
           ddr.DataTextField = "InventLocationId"
           ddr.DataValueField = "InventLocationId"
           ddr.DataBind()
           ddr.Items.Insert(0, "-Select-")


       Else

           LblError.Text = "No Warehouse found"

       End If
   End Sub

解决方案

Hi,

You did not set the event (selected index change) for the second dropdown.

You just have to add it and implment your logic.

Hope it helps.


这篇关于如何将选定值从下拉列值传递到SQL表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆