谢谢回复!
我说的不是表格中的列表项目,而是检索窗口的分组框控件用于取表中的某一列做列表项目。不知套用表格中的项目筛选去重复的代码可以吗?
检索窗口的分组框控件没有找到PrepareEdit事件。
用窗体的afterload事件。但发现要先取消ComboBox1的绑定才行,否则报错。
Dim lst As List(Of String)
lst = DataTables("表A").GetUniqueValues("","第一列")
With e.Form.Controls("ComboBox1").Items
.Clear
.AddRange(lst.ToArray())
End With
[此贴子已经被作者于2008-9-24 23:36:40编辑过]
我按楼上的代码加入窗体的afterload事件中,打开窗口时出现错误,请高人再给看看吧,谢谢了!
看附图和文件:
此主题相关图片如下:tt截图未命名.bmp
楼主只看代码,却漏掉了最关键的一句:
要先取消ComboBox1的绑定才行,否则报错。
以下是引用yuanbin在2008-9-24 21:44:00的发言:用窗体的afterload事件。但发现要先取消ComboBox1的绑定才行,否则报错。
Dim lst As List(Of String)
lst = DataTables("表A").GetUniqueValues("","第一列")
With e.Form.Controls("ComboBox1").Items
.Clear
.AddRange(lst.ToArray())
End With
[此贴子已经被作者于2008-9-24 23:36:40编辑过]
以上代码试了,不好用,还是出错!
看看这个贴,取不重复列表项目的。
http://www.foxtable.com/dispbbs.asp?boardid=2&id=696&page=1&star=1
CZY这个好使!可用!!
用了CZY的代码后,可以筛选重复项了,可是每次调用窗口时都会出现:未定义变量 Colname ! 的提示,点击确定后,就能正常使用了。是什么原因呢?如何设定呢?
我的表名:厂家, 字段名:分类, 以下代码写入窗口的 Afterload 事件中,请高人帮助看看。谢谢了!
e.Form.Controls("ComboBox1").Items.Clear
e.Form.Controls("ComboBox1").Value = Nothing
Dim ls As New List(Of String)
ls = DataTables("厂家").GetUniqueValues("","分类")
e.Form.Controls("ComboBox1").Items.AddRange(ls.ToArray())
Vars("ColName") = "分类"
e.Form.Controls("ComboBox1").Select()
我那个文件中有一个全局变量“Colname ”,在项目属性的
initialize中。