以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 下拉列表问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=974) |
||||
-- 作者:实话实说 -- 发布时间:2008/10/26 8:57:00 -- 下拉列表问题 如何使B表中名称列的下拉列表不重复
|
||||
-- 作者:cowpoke -- 发布时间:2008/10/26 11:28:00 -- 兄弟,你把问题搞复杂了。 在列属性中有个列表项目的选项,在那设置好就行了,可以排除重复内容 |
||||
-- 作者:实话实说 -- 发布时间:2008/10/26 11:50:00 -- 你说的我很清楚,当下拉列表内容很多时,需要根据前字段筛选 |
||||
-- 作者:yuanbin -- 发布时间:2008/10/26 14:36:00 -- 表事件PrepareEdit中改为以下代码:注意datatable中select和GetUniqueValues方法的区别。 If e.Col.Name = "名称" Then \'如果正在编辑的是名称列 If e.Row.IsNull("分类") Then \'如果分类列的内容为空 e.Col.Combolist = "" \'清除名称列的列表项目 Else Dim drs As New List(Of string) Dim Val AS String = "|" drs = DataTables("A表").GetUniqueValues("[分类]=\'" & e.Row("分类") & "\'" , "名称") For Each dr As string In drs Val = Val & "|" & dr Next e.Col.Combolist = Val End If End If |
||||
-- 作者:实话实说 -- 发布时间:2008/10/26 15:27:00 -- 搞定.谢谢 再请教,在窗口中的组合框中下拉列表没有显示,只能用自定义的下拉列表吗? [此贴子已经被作者于2008-10-26 16:46:07编辑过]
|
||||
-- 作者:yuanbin -- 发布时间:2008/10/26 17:56:00 -- 在窗口中的组合框中,也要自定义的下拉列表。对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 |
||||
-- 作者:实话实说 -- 发布时间:2008/10/26 18:26:00 -- 谢谢 |
||||
-- 作者:gdtgl -- 发布时间:2008/10/27 21:28:00 -- 看图,应是少说了在属性中,分别将 ComboBox1 ,ComboBox2 绑定到B表的相关列中。 |
||||
-- 作者:gdtgl -- 发布时间:2008/10/27 21:32:00 -- 谢谢,正努力学FOXTABLE,也需要这个功能而不会写....... |