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