窗口的combobox控件项目列表来源于某一列时:
1、能否设置
默认为:提取不重复的列。因为在列表项目中重复的内容是没什么用的;
2、
默认的排序方式应该按输入的行顺序。现在的排序方式是按拼音的拼写顺序;
3、能否
默认为排除空白行。
以上情况可以通过其他事件实现,但我认为设成上述默认值更有利于操作。
各有所需,COMBOBOX属性中只是提取基础表中的资料,则此基础不本来就是不重复的.如要提取数据录入表中,只能通过公式.
1.如要提取不重复的列,则可设置条件,如下:
示例二
Dim
cmb As WinForm.ComboBox
cmb = Forms("窗口1").Controls("ComboBox1")
cmb.ComboList = DataTables("客户").GetComboListString("公司名称")
上述的代码如果设置在窗口的AfterLoad事件中,即可在打开窗口的时候,自动从客户表提取公司名称,作为组合框Combox1的列表项目。
2.这个没有了解过
3.可设置FILTER属性 如:[列] > ""
GetComboListString(ColumnName,Filter)
ColumnName:列名称,从此列中提取不重复的值。
Filter: 可选参数,指定一个条件表达式,只返回符合此条件的值。
请参考表达式的运算符和函数
示例
Output.Show(DataTables("订单").("产品"))
也可以设置条件,例如从客户表中提取华北地区的客户名单:
Output.Show(DataTables("客户").GetComboListString("客户名称","[地区] = '华北'"))
[此贴子已经被作者于2009-8-1 10:15:38编辑过]
2、
默认的排序方式应该按输入的行顺序。
如果要改成按拼音的拼写顺序,那对于要按输入顺序排序的,不也是要反对了?我想大多数人还是愿意按顺序排序的,主要是看看用什么办法更好
既然绑定到列了,在列属性里都有设置啊~ 过滤条件、排序方法都有啊····
我没试过,只是提示一下。 呵呵
[此贴子已经被作者于2009-8-1 15:24:03编辑过]
窗口的combobox控件好象没有排序方式。
再就是,我是从简化操作和人性化的角度提出的问题,并不是说这种设计无法实现。
谁也不会用到重复的列表项目。
呵呵 , 楼主提的重复项目是个问题, 我也为此烦恼过, 刚才灵机一动: 是不是可以增加一列(如:项目标号 列,按列表项目列的顺序1、2、3......给个编号, 再判断要引用的 项目列 的‘项目’是否重复,有重复则给个空值, 这样在过滤条件中设置 项目标号 列不为空。就不会出现重复内容了,
但排序好像combobox属性中没有。。。
以下是引用pyh6918在2009-8-1 7:02:00的发言:
窗口的combobox控件项目列表来源于某一列时:
1、能否设置默认为:提取不重复的列。因为在列表项目中重复的内容是没什么用的;
2、默认的排序方式应该按输入的行顺序。现在的排序方式是按拼音的拼写顺序;
3、能否默认为排除空白行。
以上情况可以通过其他事件实现,但我认为设成上述默认值更有利于操作。
我也觉得是个问题,但老六说已经没办法了。
还是改用代码生成列表项吧。