【发布时间】:2018-01-15 16:44:18
【问题描述】:
我有点陷入困境。我试图在 VB.NET winforms 中创建的是一个列表框,其中包含一个名称列表,当用户双击一个名称时,它会返回从数据库中选择的名称和该名称的描述。
这就是我目前所做的,我进行了许多不同的尝试,但几乎没有成功。
private Sub lstbxOfNames_DoubleClick(sender As Object, e As EventArgs) Handles lstboxOfName.DoubleClick
Dim nameFromListBox As String = lstbxOfNames.GetItemText(lstbxOfNames.SelectedItem)
Dim nameToTextBox as String
txtNameDescription.Clear()
txtName.Clear()
With DBSet.NameTbl
nameToTextBox = .FirstOrDefault(Function(x) x.Name = nameFromListBox).ToString()
End With
txtName.Text = nameToTextBox.ToString()
End Sub
这是我至少从数据库返回名称的代码的开始。从某种意义上说,这不会让我失望,但是我没有得到可读的结果。我收到的结果是 projectName.dbset.Nametbl+Nametbltyperow。
我不应该使用 With 语句吗?
我在这里错过了一个概念吗?
仅供参考,我没有接口、抽象层、getter setter,我使用的是在设计视图中“自动”绑定到数据源时创建的绑定对象。 我是否需要创建所有接口、抽象层和 getter setter 才能使所有这些正常工作?
*****编辑****** 我正在使用一个 sql 数据库。我所指的对象是当我为列表框对象设置数据绑定时 VS 创建的数据绑定和数据源。但是,这不是我在这种情况下使用的。我的目标是使用列表框对象返回的数据。
双击事件用于允许用户进入和编辑模式。有关名称的数据应返回到文本框中,以便用户可以编辑数据并单击保存以保存更新的数据。
【问题讨论】:
-
您的帖子令人困惑。您实际使用的数据库是什么。 AFAIK,“SQLDB”是与 Pascal 相关的数据库。我们也不知道“绑定对象”指的是什么——事物有名称。与
DoubleClick事件相比,使用 SelectedItemChanged 事件更为常见。如果控件数据已绑定(听起来像是),那么您必须转换结果,否则您只需获得您提到的类型名称。 -
@Plutonix 我正在使用 SQLDB。我假设我可能指的绑定对象是带有 NametblBindingSource 对象的 NametblDataAdapter。我不太熟悉 VS 如何命名和创建绑定对象。我可以解释发生了什么的唯一方法是 ListBox 对象有一个被点击的视觉箭头。单击箭头后,会弹出数据库绑定向导,我将填写;数据源、显示成员、值成员。我选择使用双击事件,所以当用户想要编辑名称时,他们可以双击它并在我应该拥有的文本框中进行编辑
-
重新编辑:仍然不知道
a sql db是什么。许多数据库都使用 SQL - SQL 是一种语言而不是 RDBMS,它们都有名称。如果 ListBox 绑定到 DataSource,则选择的项目就是您所需要的 - 不需要 linq。您可能想研究类型化数据集,因为这听起来像是您正在使用的东西的名称
标签: database vb.net winforms linq listbox