如果ifselectedindex已更改,则在文本框中显示数据

问题描述

我已经将访问数据库链接到我的表单。 我有1张桌子2行 1 =研究类型短文本 2 =研究细节(长文本)

在我的comboBox1中,我绑定了研究类型行,因此我可以选择一种研究类型。

现在的问题:选择研究类型后,如何将详细信息数据绑定到其下方的richtextBox以便显示研究数据?

我尝试过其他连击,尝试赶上连击, 我想我实际上是在考虑这个问题。

“从下拉列表中选择”并在文本框中显示结果的最简单方法是什么。 我是vb.net初学者

Public Class Onderzoeken
    Private Sub Onderzoeken_Load(sender As Object,e As EventArgs) Handles MyBase.Load
        'Todo: This line of code loads data into the 'PatientenDatabaseDataSetX.tbl_OnderzoeksTypes' table. You can move,or remove it,as needed.
        Me.Tbl_OnderzoeksTypestableAdapter.Fill(Me.PatientenDatabaseDataSetX.tbl_OnderzoeksTypes)
    End Sub

    Private Sub cBoxOnderzoek_SelectedindexChanged(sender As Object,e As EventArgs) Handles cBoxOnderzoek.SelectedindexChanged
        If cBoxOnderzoek.SelectedItem = nothing Then

            cBoxOnderzoek.Text = ""
        Else
            rtbBeschrijvingOnderzoek.Text = CStr(CType(cBoxOnderzoek.SelectedItem,DaTarowView)("OZ_Onderzoeksbeschrijving"))

        End If

    End Sub
End Class

我现在添加了该页面的整个代码,虽然不多,但是如上所述:我将绑定源和displaymember“ researchtype”添加到了组合框。 因此,当我启动表格时,我可以选择一种研究类型。 现在我需要在richtextBox显示研究的描述

解决方法

Form.Load ...

我有一个函数返回一个DataTable,其中包含名为NameType的列。我将ComboBox绑定到DataTable,并将DisplayMember设置为"Name"。 ComboBox中的每个项目都包含整个DataRowView。我将TextBox设置为第一行(dt(0)("Type")Type列值,以便为初始选择显示正确的信息。

我放置了代码来更改ComboBox1.SelectionChangeCommitted中的文本框显示,因为其他的更改事件将产生NRE,因为在加载表单时尚未设置.SelectedItem。仅当用户进行选择时,才会发生commitd事件。

首先,将SelectedItem转换为其基础类型DataRowView。然后,您需要Type列的值。此值分配给文本框的text属性。

Private Sub Form1_Load(sender As Object,e As EventArgs) Handles MyBase.Load
    Dim dt = LoadCoffeeTable()
    ComboBox1.DataSource = dt
    ComboBox1.DisplayMember = "Name"
    TextBox1.Text = dt(0)("Type").ToString
End Sub

Private Sub ComboBox1_SelectionChangeCommitted(sender As Object,e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
    TextBox1.Text = DirectCast(ComboBox1.SelectedItem,DataRowView)("Type").ToString
End Sub

只需用Researchtype替换Name,用Researchdetails替换Type

,

在使用“ OleDbDataAdapter”填充数据集之后,可以为ComboBox设置“ DisplayMember”和“ ValueMember”。每次组合框的索引更改时,它的“ ValueMember”将显示在richtextbox中。

这是您可以参考的代码。

JsonResponse jsonResponse = JsonResponse.fromJson(
  Student.fromJson(jsonData),Info.fromJson(jsonData),);

我的测试结果。

enter image description here