2013-03-21 2 views
0

Я искал всюду, чтобы понять эту процедуру, но до сих пор ничего не работало.Как связать выпадающий список с различными текстовыми полями vb.net

В принципе, я хочу связать свой dropdownlist, который является ddlreportid, в различные текстовые поля.

В настоящее время, выпадающий список подключен к источнику данных, где она использует таблицу отчета, чтобы отобразить список, например, ReportID в 1, 2,3 и т.д.

То, что я хочу, чтобы это произошло, если пользователь нажимает, скажем, 1 из ddlreportid. Я хочу, чтобы имя отчета помещалось в текстовое поле txtreportname.text, reportaddress для размещения текстового поля txtreportaddress и reportpostcode для ввода текста в текстовое поле txtreportpostcodec.

С чего начать? Если бы разум мог направить меня, это было бы здорово.

Я использовал этот код ранее, но не работал.

Protected Sub ddlreportid_SelectedIndexChanged1(sender As Object, e As System.EventArgs) Handles ddlreportid.SelectedIndexChanged 

    Dim myConn As New SqlConnection 
    Dim myCmd As New SqlCommand 


    myConn.ConnectionString = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 

    myCmd = myConn.CreateCommand 

    myCmd.CommandText = "SELECT ReportName, ReportAddress, ReportPostcode WHERE ReportID = @ ReportID" 

    myCmd.Parameters.Add(New SqlParameter("@ReportID", (ddlreportid.Text))) 

    Dim reader As SqlDataReader = myCmd.ExecuteReader() 

    If (reader.Read()) Then 
     txtreportname.Text = reader(0) 
     txtreportaddress.Text = reader(1) 
     txtreportpostcode.Text = reader(2) 

    End If 

    myCmd.Dispose() 
    myConn.Close() 
    myConn.Dispose() 

End Sub 

Спасибо

ответ

0

Try, вместо того, чтобы ...

myCmd.Parameters.Add(New SqlParameter("@ReportID", (ddlreportid.Text))) 

... как это сделать:

myCmd.Parameters.Add(New SqlParameter("@ReportID", (ddlreportid.SelectedItem.Value))) 

Также убедитесь, что ваш DropDownList имеет AutoPostBack = "true", если вы хотите ваша страница должна немедленно ответить.

+0

Да AutoPostBack установлен в значение true. У меня нет ошибок на странице и выполняется нормально, пока я не выберу что-нибудь из выпадающего списка и не придет к этой ошибке «Ошибка выполнения Microsoft JScript: член не найден». –

+0

Должен ли я поставить инструкцию if при загрузке страницы в отношении autoPostBack? –

+0

Пожалуйста, отредактируйте свой вопрос, чтобы включить HTML, который определяет DropDownList, и любые валидаторы или Javascript, которые могут иметь ссылки на него. Ваша ошибка звучит так, как будто это происходит на стороне клиента, поэтому нам нужно посмотреть, что у вас есть. –

Смежные вопросы