У меня есть элемент управления dropdownlist, который показывает первичный ключ из таблицы, называемой моделью, и текстовое поле, которое должно отображать другое значение (внешний ключ) из той же таблицы, когда я использую раскрывающийся список. И PK, и FK имеют одно значение.Измените значение текстового поля при выборе значения dropdownlist
Поскольку я не знал, как это сделать, я использовал метод поиска, который следует вызывать каждый раз, когда кто-то выбирает новое значение из выпадающего списка.
код Поиск:
Public Function searchArea(ByVal model As String) As String
Dim mycon As New Connection
Using connection As New SqlConnection(mycon.GetConnectionString())
Using command As New SqlCommand()
command.Connection = connection
command.CommandType = CommandType.Text
command.CommandText = "SELECT area FROM model WHERE model= @model"
command.Parameters.AddWithValue("@model", model)
connection.Open()
Dim dataReader As SqlDataReader = command.ExecuteReader()
If (dataReader.Read()) Then
Return dataReader.ToString(0)'this query should always have a single value
End If
Return "Nothing"
End Using
End Using
End Function
Код события:
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim objModel As New ModelDAO 'the class where the method is
TextBox9.Text = objModel.searchArea(DropDownList1.Text)
End Sub
.
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"
DataSourceID="SqlDataSource1" DataTextField="MODEL" DataValueField="MODEL">
<asp:ListItem Text="-Select-" Value="" />
</asp:DropDownList>
<asp:TextBox ID="TextBox9" runat="server" Enabled="False" Height="24px"
Width="219px"></asp:TextBox>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DBUserInterfaceConnectionString %>"
SelectCommand="SELECT [MODEL] FROM [MODEL]">
</asp:SqlDataSource>
Но, как я думал, это не сработает, можете ли вы мне помочь?
EDIT: Спасибо, теперь это триггеры, но я получаю значение: «S» это значение не относится к моей таблице. Можете ли вы сказать мне, мой метод поиска в порядке?
Установлен ли в AutoPostBack значение TRUE? – logixologist
Спасибо, теперь это триггеры, однако я не получаю значение, которое я хотел, я, наверное, должен проверить мое предложение sql. – phalanx
Что возвращает ваш SQL? – logixologist