将文本框绑定到组合框项目

时间:2016-08-16 07:08:04

标签: vb.net combobox textbox

我在数据表中有2列,两者都显示在组合框的下拉列表中(多列下拉列表)。现在我想在组合框中显示一列,在texbox中显示另一列(使用数据绑定)。代码有效,但有一个问题 - 我想在表单打开时使用我的combobox.selectedIndex -1,并且文本框为空。 Combobox不是问题,但Texbox无法清除文本。这是我的代码:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim SQL As String = "SELECT Name,Surname from MyTable"

        Dim dtb As New DataTable()
        dtb.Columns.Add("Name", System.Type.GetType("System.String"))
        dtb.Columns.Add("Surname", System.Type.GetType("System.String"))

        Using con As OracleConnection = New OracleConnection("Data Source=MyDB;User Id=Lucky;Password=MyPassword;")

            Try

                OraclePovezava.Open()

                Using dad As New OracleDataAdapter(SQL, con)
                    dad.Fill(dtb)

                End Using

                Combobox1.DataSource = dtb
                Combobox1.DisplayMember = "Surname"
                Combobox1.AutoCompleteMode = AutoCompleteMode.Suggest
                Combobox1.AutoCompleteSource = AutoCompleteSource.ListItems
                con.Close()

            Catch ex As Exception
                'MessageBox.Show(ex.Message)
            Finally
                con.Dispose()
            End Try

            TextBox1.DataBindings.Add("Text", dtb, "Name")
            Combobox1.SelectedIndex = -1

       End Using

    End Sub

正如您所见,此代码是在表单的加载事件中。我在使用If语句的Combobox.SelectedIndexChanged事件中尝试使用Textbox数据绑定,但它没有工作。

P.S。:我想要的输出是当用户从组合框中选择一些项目时,两个列值都显示在texbox&组合框。您看到的代码可以正常工作,但Textbox在表单加载时无法像组合框那样为空。

有什么建议吗?

0 个答案:

没有答案