【发布时间】:2012-09-10 01:17:03
【问题描述】:
各位好,
我正在尝试在 vb.net 组合框中搜索项目。组合框已绑定到数据集。显示成员设置为仅显示所选记录的单列。我最初设置了它,因此组合中显示的对象是自定义类。在这个类中,我指定了我想要跟踪的所有属性,并且看起来效果很好。但是,现在我在其绑定状态下使用组合框,操作数据要困难得多。
使命: 要让用户键入一个数字,如果该数字包含在 ComboBox 中,那么组合框应该移动到该记录,以便绑定到该控件的所有其他项目也将更新。
研究: 我查看了 System.Windows.Forms.BingingManagerBase 类,它似乎有我需要的信息。我只是无法弄清楚这与我正在尝试做的事情之间的桥梁。我想把一些东西放在一起,所以我尝试简单地对数据集进行 SQL 搜索,以查找组合框中的文本。不幸的是,这需要后期绑定,而我的 .Net 紧凑框架的目标版本不支持。
这是我尝试的后期绑定的示例。 (我相信我正在使用 VB.net 2005,Compact Framework 3.5:
For i as integer = 0 to combobox.items.count - 1
dim Dsr as Dataset.Row
dim dv as dataview
Dsr = DirectCase(Dv.row, Dataset.Row)
If Dsr(i).DesiredColumn = DesiredRow.Desiredcolumn then
'Do such and such code
End If
Next
我希望能够在数据集中搜索与查询匹配的特定记录。在找到与查询匹配的行后,我希望能够将组合框移动到 SQL 查询中找到的行。主要问题似乎是 Combo 在 Datarowviews 中工作,而我的数据集主要转换为与 DS 有关的行。
任何人对此有一些见解,将不胜感激。
再次感谢!
【问题讨论】:
-
为了进一步澄清,如果该项目存在,我需要将组合框移动到与用户输入的文本相对应的项目。唯一的问题是组合中的项目是绑定到数据集的 DataView 对象,我不能像上面那样进行后期绑定。
标签: vb.net data-binding combobox datarow late-binding