兄弟,你把问题搞复杂了。
在列属性中有个列表项目的选项,在那设置好就行了,可以排除重复内容
你说的我很清楚,当下拉列表内容很多时,需要根据前字段筛选
搞定.谢谢
再请教,在窗口中的组合框中下拉列表没有显示,只能用自定义的下拉列表吗?
[此贴子已经被作者于2008-10-26 16:46:07编辑过]
在窗口中的组合框中,也要自定义的下拉列表。对ComboList进行定义:
在窗体afterload事件中的代码如下,对“分类”进行定义下拉列表:
Dim Items As String
Dim lst As List(Of String) = DataTables("A表").GetuniqueValues("","分类")
For Each Item As String In Lst
Items = Items & "|" & Item
Next
e.Form.Controls("ComboBox1").ComboList = Items
在“名称”的Enter事件中设置代码(选择控件执行):
If e.Form.Controls("ComboBox1").value is nothing Then '如果分类列的内容为空
e.Form.Controls("ComboBox2").Combolist = "" '清除名称列的列表项目
Else
Dim drs As New List(Of string) '字符串集合
drs = DataTables("A表").GetUniqueValues("[分类]='" & e.Form.Controls("ComboBox1").value & "'" , "名称")
'方法一:
' Dim Val AS String = "|"
' For Each dr As string In drs
' Val = Val & "|" & dr
' Next
' e.Form.Controls("ComboBox2").Combolist = Val
'方法二:
e.Form.Controls("ComboBox2").Items.Clear
e.Form.Controls("ComboBox2").Items.AddRange(drs.ToArray()) '将一个字符数组的内容全部加入到列表项目中.
End If
此主题相关图片如下:分类与名称的窗体筛选.jpg
看图,应是少说了在属性中,分别将 ComboBox1 ,ComboBox2 绑定到B表的相关列中。
谢谢,正努力学FOXTABLE,也需要这个功能而不会写.......