动态的改变它所显示的text.我所编的程序是一个循环语句,我想将这几个text的名字
设成变量,以便在满足不同条件时,给变量赋值,使其指向指定的text.请问我怎么才能
实现.谢谢
16 个解决方案
#1
string ls_text
ls_text='t_1' //设置TEXT名称
dw_1.modify("'"+ls_text+"'"+'.text=需要TEXT显示的值')
注意要把变量传给MODIFY时要在变量两边加上'号,直接加不行,须用""号将'号括起来。
不知能不能帮你解决问题。希望你好运!
ls_text='t_1' //设置TEXT名称
dw_1.modify("'"+ls_text+"'"+'.text=需要TEXT显示的值')
注意要把变量传给MODIFY时要在变量两边加上'号,直接加不行,须用""号将'号括起来。
不知能不能帮你解决问题。希望你好运!
#2
谢谢你,gwolfupb(括弧)我去试试
#3
我的问题还没有解决.我想实现的是:如果满足条件1,t_1.text='a',如果满足条件2,t_2.text='a',以此类推,我怎么实现这个循环,其中text的名字我想是应该成变量
#4
把上面的改一改就可以了吧:
string ls_text
ls_text = 't_'
...yourcaseno根据你的条件获得,如条件2的话yourcaseno就是2
dw_1.modify("'" + ls_text + yourcaseno + "'" + ".text = value ")
string ls_text
ls_text = 't_'
...yourcaseno根据你的条件获得,如条件2的话yourcaseno就是2
dw_1.modify("'" + ls_text + yourcaseno + "'" + ".text = value ")
#5
thank you benjialiu I will try
#6
我现在还有两个问题:
(1)我在设置modify函数时出了问题
例如:string ls_text,cond,data
ls_text='text_'
cond='1'
data=...//一个字符串变量
dw_2.modify("'"+ ls_text + cond + "'" + ".text = ~"" + data2 + "~"")
可是出不来效果,于是我又换了以下做法
dw_2.modify("text_1.text=~"" + data2 + "~"")
这样就出来效果了.请问我在设置的时候出了什么错误.
(2)我想使cond的字符串的值进行加法运算(自动加1),我这样设计的
long j
j=long(cond)
j=j+1
cond=string(j)
不知道我这样设计的对不对,我觉得long(cond)后好像不是1了,如果不对请问怎样能实现
(1)我在设置modify函数时出了问题
例如:string ls_text,cond,data
ls_text='text_'
cond='1'
data=...//一个字符串变量
dw_2.modify("'"+ ls_text + cond + "'" + ".text = ~"" + data2 + "~"")
可是出不来效果,于是我又换了以下做法
dw_2.modify("text_1.text=~"" + data2 + "~"")
这样就出来效果了.请问我在设置的时候出了什么错误.
(2)我想使cond的字符串的值进行加法运算(自动加1),我这样设计的
long j
j=long(cond)
j=j+1
cond=string(j)
不知道我这样设计的对不对,我觉得long(cond)后好像不是1了,如果不对请问怎样能实现
#7
如果你的条件全部跟数据窗口里的数据有关的话,不如用计算列来替代文本框:
case( ...
when ... then
...
when ...then
...
else
...
)
既方便又好用,还不容易出错。
case( ...
when ... then
...
when ...then
...
else
...
)
既方便又好用,还不容易出错。
#8
我的条件不是跟数据有关,相当于c里的循环,又一个变量总是自动加1
#9
其实你的字符串加法只要一句话就可以了:
cond = string(long(cond) +1)
另外,关于循环:
for li_index = 1 to li_count
ls_text_name = 'text_'+string(li_index)
dw_xxx.modify(ls_text_name+'.text="'+string(li_index)+'"')
end for
// 上述语句就可以实现对text_1 - text_10自动赋值为1-10
cond = string(long(cond) +1)
另外,关于循环:
for li_index = 1 to li_count
ls_text_name = 'text_'+string(li_index)
dw_xxx.modify(ls_text_name+'.text="'+string(li_index)+'"')
end for
// 上述语句就可以实现对text_1 - text_10自动赋值为1-10
#10
请问高手们,我又该如何实现以下情况:
sle_1.setfocus() ,sle_2.setfocus() ... sle_*.setfocus()
或如: cb_1.visible = false, cb_2.visible = false, ... cb_*.visible = false
用 modify() 可以吗? 请多多赐教!
sle_1.setfocus() ,sle_2.setfocus() ... sle_*.setfocus()
或如: cb_1.visible = false, cb_2.visible = false, ... cb_*.visible = false
用 modify() 可以吗? 请多多赐教!
#11
把你的这些控件全部放入一个External+FreeForm风格的数据窗口,SetFocus可以用SetColumn来实现,Visible可以用Modify
#12
感谢流方liulee以及上面所有帮我解决问题的朋友,我的问题解决了
#13
up
#14
关注!
#15
up
#16
no problem
#1
string ls_text
ls_text='t_1' //设置TEXT名称
dw_1.modify("'"+ls_text+"'"+'.text=需要TEXT显示的值')
注意要把变量传给MODIFY时要在变量两边加上'号,直接加不行,须用""号将'号括起来。
不知能不能帮你解决问题。希望你好运!
ls_text='t_1' //设置TEXT名称
dw_1.modify("'"+ls_text+"'"+'.text=需要TEXT显示的值')
注意要把变量传给MODIFY时要在变量两边加上'号,直接加不行,须用""号将'号括起来。
不知能不能帮你解决问题。希望你好运!
#2
谢谢你,gwolfupb(括弧)我去试试
#3
我的问题还没有解决.我想实现的是:如果满足条件1,t_1.text='a',如果满足条件2,t_2.text='a',以此类推,我怎么实现这个循环,其中text的名字我想是应该成变量
#4
把上面的改一改就可以了吧:
string ls_text
ls_text = 't_'
...yourcaseno根据你的条件获得,如条件2的话yourcaseno就是2
dw_1.modify("'" + ls_text + yourcaseno + "'" + ".text = value ")
string ls_text
ls_text = 't_'
...yourcaseno根据你的条件获得,如条件2的话yourcaseno就是2
dw_1.modify("'" + ls_text + yourcaseno + "'" + ".text = value ")
#5
thank you benjialiu I will try
#6
我现在还有两个问题:
(1)我在设置modify函数时出了问题
例如:string ls_text,cond,data
ls_text='text_'
cond='1'
data=...//一个字符串变量
dw_2.modify("'"+ ls_text + cond + "'" + ".text = ~"" + data2 + "~"")
可是出不来效果,于是我又换了以下做法
dw_2.modify("text_1.text=~"" + data2 + "~"")
这样就出来效果了.请问我在设置的时候出了什么错误.
(2)我想使cond的字符串的值进行加法运算(自动加1),我这样设计的
long j
j=long(cond)
j=j+1
cond=string(j)
不知道我这样设计的对不对,我觉得long(cond)后好像不是1了,如果不对请问怎样能实现
(1)我在设置modify函数时出了问题
例如:string ls_text,cond,data
ls_text='text_'
cond='1'
data=...//一个字符串变量
dw_2.modify("'"+ ls_text + cond + "'" + ".text = ~"" + data2 + "~"")
可是出不来效果,于是我又换了以下做法
dw_2.modify("text_1.text=~"" + data2 + "~"")
这样就出来效果了.请问我在设置的时候出了什么错误.
(2)我想使cond的字符串的值进行加法运算(自动加1),我这样设计的
long j
j=long(cond)
j=j+1
cond=string(j)
不知道我这样设计的对不对,我觉得long(cond)后好像不是1了,如果不对请问怎样能实现
#7
如果你的条件全部跟数据窗口里的数据有关的话,不如用计算列来替代文本框:
case( ...
when ... then
...
when ...then
...
else
...
)
既方便又好用,还不容易出错。
case( ...
when ... then
...
when ...then
...
else
...
)
既方便又好用,还不容易出错。
#8
我的条件不是跟数据有关,相当于c里的循环,又一个变量总是自动加1
#9
其实你的字符串加法只要一句话就可以了:
cond = string(long(cond) +1)
另外,关于循环:
for li_index = 1 to li_count
ls_text_name = 'text_'+string(li_index)
dw_xxx.modify(ls_text_name+'.text="'+string(li_index)+'"')
end for
// 上述语句就可以实现对text_1 - text_10自动赋值为1-10
cond = string(long(cond) +1)
另外,关于循环:
for li_index = 1 to li_count
ls_text_name = 'text_'+string(li_index)
dw_xxx.modify(ls_text_name+'.text="'+string(li_index)+'"')
end for
// 上述语句就可以实现对text_1 - text_10自动赋值为1-10
#10
请问高手们,我又该如何实现以下情况:
sle_1.setfocus() ,sle_2.setfocus() ... sle_*.setfocus()
或如: cb_1.visible = false, cb_2.visible = false, ... cb_*.visible = false
用 modify() 可以吗? 请多多赐教!
sle_1.setfocus() ,sle_2.setfocus() ... sle_*.setfocus()
或如: cb_1.visible = false, cb_2.visible = false, ... cb_*.visible = false
用 modify() 可以吗? 请多多赐教!
#11
把你的这些控件全部放入一个External+FreeForm风格的数据窗口,SetFocus可以用SetColumn来实现,Visible可以用Modify
#12
感谢流方liulee以及上面所有帮我解决问题的朋友,我的问题解决了
#13
up
#14
关注!
#15
up
#16
no problem