如何根据选中复选框的数量启用按钮powerbuilder?
How to enable button according to the number of checked checkboxes powerbuilder?
我有一个带有复选框和按钮的数据窗口 'OK'。在至少选中一个复选框之前,该按钮将被禁用。问题是,如果我选中了多个复选框,而我想取消选中其中一个,则该按钮将禁用。我在 itemchanged 事件中写了代码:
int li_ind
long ll_row
choose case dwo.name
case "ind"
for row = 1 to this.RowCount()
if data ='1' then
li_ind++
end if
next
if li_ind <> 0 then
parent.cb_ok.enabled = true
else
parent.cb_ok.enabled = false
end if
end choose
我做错了什么?
谢谢!
变量'data'只适用于当前行。你需要使用 getitemstring.
您可以在名为 cf_ind_count 的数据窗口的详细信息带中放置一个隐藏的计算字段。
定义cf_ind_count
sum( if( ind = '1', 1, 0 ) )
将您的脚本替换为
long ll_count
long ll_rows
boolean lb_enable = false
ll_rows = this.rowcount()
if ll_rows < 1 then
lb_enable = false
else
ll_count = long( this.object.cf_ind_count[1] )
if ll_count > 0 then
lb_enable = true
else
lb_enable = false
end if
end if
parent.cb_ok.enable = lb_enable
我有一个带有复选框和按钮的数据窗口 'OK'。在至少选中一个复选框之前,该按钮将被禁用。问题是,如果我选中了多个复选框,而我想取消选中其中一个,则该按钮将禁用。我在 itemchanged 事件中写了代码:
int li_ind
long ll_row
choose case dwo.name
case "ind"
for row = 1 to this.RowCount()
if data ='1' then
li_ind++
end if
next
if li_ind <> 0 then
parent.cb_ok.enabled = true
else
parent.cb_ok.enabled = false
end if
end choose
我做错了什么?
谢谢!
变量'data'只适用于当前行。你需要使用 getitemstring.
您可以在名为 cf_ind_count 的数据窗口的详细信息带中放置一个隐藏的计算字段。
定义cf_ind_count
sum( if( ind = '1', 1, 0 ) )
将您的脚本替换为
long ll_count
long ll_rows
boolean lb_enable = false
ll_rows = this.rowcount()
if ll_rows < 1 then
lb_enable = false
else
ll_count = long( this.object.cf_ind_count[1] )
if ll_count > 0 then
lb_enable = true
else
lb_enable = false
end if
end if
parent.cb_ok.enable = lb_enable