数据窗口中同一列,如果将不同的行设置为不同的edit style?

时间:2021-02-23 09:54:26
比如,开始三行设置为edit类型,后面的设置为ddlb类型。
方案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在把值赋过去。

#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了。

#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在把值赋过去。

#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了。

#8


楼上正解

#9


学习中~