Я пытаюсь создать опцию для выбора конкретной записи в таблице SQL, если существуют множественные числа. Sub, приведенный ниже, предназначен для текстового поля (MOTxt) и кнопки (GotMO) для проверки MO # для вывода из SQL. На основе введенного числа будут заполнены другие текстовые поля на странице данными этой строки. Существуют исключения из этого, где MONumber будет вводиться несколько раз с разными данными, связанными с каждой записью. Итак, вот моя ситуация. Если у нас есть дубликат MONumber, указанный в таблице, он заполнит текстовые поля первой записью, которую он найдет для обновления. Я хотел бы создать динамический выпадающий список (который отображается только в том случае, если будут найдены множественные числа), отображая записи поля «Имя» для каждого найденного MONumber, а затем, как только правильное имя выбрано из этого списка, чтобы затем заполнить текстовые поля выбранным datarow ,Динамически отображается DropDownList, если в таблице есть несколько записей
Вот мой код позади:
Protected Sub GotMONum_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GotMO.Click
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim MOLength As String = MOTxt.Text
Dim TieOffTemp As Integer
Dim QTYTemp As Integer
Dim MySelectQuery As String = "SELECT Name,ProdLine,NoRods,TieOffs FROM z_md_Outwrap WHERE MONumber = @MONum"
Dim myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("GLoomisDBConnectionString").ConnectionString)
Dim myCommand As New SqlCommand(MySelectQuery, myConnection)
Message2.InnerHtml = ""
Message.InnerHtml = ""
If (Me.MOTxt.Text = "") Then
MsgBox("Please enter an MO Number to check")
Else
' Fills fields based on MO Number
myCommand.Parameters.AddWithValue("@MONum", MOTxt.Text)
myConnection.Open()
da.SelectCommand = myCommand
da.Fill(ds, "tblData")
myConnection.Close()
If ds IsNot Nothing AndAlso ds.Tables.Count > 0 AndAlso ds.Tables(0).Rows.Count > 0 Then
NameTxt.Text = ds.Tables("tblData").Rows(0).Item("Name")
ProdLineTxt.Text = ds.Tables("tblData").Rows(0).Item("ProdLine")
NoRodsTxt.Text = ds.Tables("tblData").Rows(0).Item("NoRods")
TieOffsTxt.Text = ds.Tables("tblData").Rows(0).Item("TieOffs")
If Integer.TryParse(NoRodsTxt.Text, QTYTemp) Then
If Integer.TryParse(TieOffsTxt.Text, TieOffTemp) And TieOffTemp > 0.0 Then
AmountVal.Text = "$" & (QTYTemp * TieOffTemp * 0.18)
End If
End If
Else
Message.InnerHtml = "No MO# found as entered. Please check for errors."
Message.Style("color") = "red"
End If
End If
End Sub
Какую версию .net вы бежите? – mutek
все это запрограммировано с использованием .net 4.0 – user988265