方案1:都设置成ddlb,这样的问题是,本不应该出现下拉框的前三行也出现了下拉框。。。
方案2:动态调整。光标在前三行时,将列类型改为edit;光标到了后面的行,就修改为ddlb。这样的问题是:光标在前三行时,后面的行显示的值就成了真正的数字而不是下拉框中的选项。
举个例子:下拉框中的值:IPV4,实际值是4。但是一旦选中前面的三行,就显示成了4,而不是IPV4。
谁有好的方案?请指点下,谢谢:-)
9 个解决方案
#1
列的属性只能是一种,修改后,该列别行的显示模式也会改变
#2
改不了!
#3
up
#4
都设置成ddlb,光标在前三行时将DDLB的值通过过滤条件弄成一行就可以。
#5
只有2种还是比较好办的,首先列的editstyle为ddlb,
然后visible是if(getrow() < 4,0,1)就把前三行隐藏掉
然后再来个计算域,表达式就是你那个列的列明,但是visible大于3不显示
数据窗click或者tab的时候,在window上弄一个假的sle贴过去,
losefocus在把值赋过去。
然后visible是if(getrow() < 4,0,1)就把前三行隐藏掉
然后再来个计算域,表达式就是你那个列的列明,但是visible大于3不显示
数据窗click或者tab的时候,在window上弄一个假的sle贴过去,
losefocus在把值赋过去。
#6
可以考虑使用OpenUserObject来实现
#7
这个在Free格式的数据窗口比较好实现。
同一个字段放两个列控件在DW里。
如:列为ID,那么两个控件分别为ID,ID_1
将ID的visible表达式设置为:if(getrow()<=3,1,0) editstyle为ddlb
将ID_1的visible表达式设置为:if(getrow()>3,1,0) editstyle为EDIT
然后将两个控件对齐就OK了。
同一个字段放两个列控件在DW里。
如:列为ID,那么两个控件分别为ID,ID_1
将ID的visible表达式设置为:if(getrow()<=3,1,0) editstyle为ddlb
将ID_1的visible表达式设置为:if(getrow()>3,1,0) editstyle为EDIT
然后将两个控件对齐就OK了。
#8
楼上正解
#9
学习中~
#1
列的属性只能是一种,修改后,该列别行的显示模式也会改变
#2
改不了!
#3
up
#4
都设置成ddlb,光标在前三行时将DDLB的值通过过滤条件弄成一行就可以。
#5
只有2种还是比较好办的,首先列的editstyle为ddlb,
然后visible是if(getrow() < 4,0,1)就把前三行隐藏掉
然后再来个计算域,表达式就是你那个列的列明,但是visible大于3不显示
数据窗click或者tab的时候,在window上弄一个假的sle贴过去,
losefocus在把值赋过去。
然后visible是if(getrow() < 4,0,1)就把前三行隐藏掉
然后再来个计算域,表达式就是你那个列的列明,但是visible大于3不显示
数据窗click或者tab的时候,在window上弄一个假的sle贴过去,
losefocus在把值赋过去。
#6
可以考虑使用OpenUserObject来实现
#7
这个在Free格式的数据窗口比较好实现。
同一个字段放两个列控件在DW里。
如:列为ID,那么两个控件分别为ID,ID_1
将ID的visible表达式设置为:if(getrow()<=3,1,0) editstyle为ddlb
将ID_1的visible表达式设置为:if(getrow()>3,1,0) editstyle为EDIT
然后将两个控件对齐就OK了。
同一个字段放两个列控件在DW里。
如:列为ID,那么两个控件分别为ID,ID_1
将ID的visible表达式设置为:if(getrow()<=3,1,0) editstyle为ddlb
将ID_1的visible表达式设置为:if(getrow()>3,1,0) editstyle为EDIT
然后将两个控件对齐就OK了。
#8
楼上正解
#9
学习中~