Checkbox 如何根据powerbuilder选中的复选框数启用按钮?

Checkbox 如何根据powerbuilder选中的复选框数启用按钮?,checkbox,powerbuilder,datawindow,Checkbox,Powerbuilder,Datawindow,我有一个带有复选框和“OK”按钮的数据窗口。在至少选中一个复选框之前,该按钮处于禁用状态。问题是,如果我选中了多个复选框,并且我想取消选中一个复选框,则按钮将禁用。我在itemchanged事件中编写了代码: int li_ind long ll_row choose case dwo.name case "ind" for row = 1 to this.RowCount() if data ='1' then

我有一个带有复选框和“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
int li\u ind
长罗
选择case dwo.name
案例“ind”
对于row=1,将其添加到此.RowCount()中
如果data='1',则
李娜++
如果结束
下一个
如果li_ind 0那么
parent.cb_ok.enabled=true
其他的
parent.cb_ok.enabled=false
如果结束
结束选择
我做错了什么


谢谢

变量“data”仅适用于当前行。您需要使用getitemstring。

变量“data”仅适用于当前行。您需要使用getitemstring。

您可以在数据窗口的详细信息栏中放置一个名为cf\u ind\u count的隐藏计算字段

定义cf_ind_计数

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
long ll\u计数
长队
布尔lb_enable=false
ll_rows=this.rowcount()
如果ll_行数小于1,则
lb_enable=false
其他的
ll\u count=long(this.object.cf\u ind\u count[1])
如果ll_计数>0,则
lb_enable=true
其他的
lb_enable=false
如果结束
如果结束
parent.cb_ok.enable=lb_enable

您可以在数据窗口的详细信息栏中放置一个名为cf\u ind\u count的隐藏计算字段

定义cf_ind_计数

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
long ll\u计数
长队
布尔lb_enable=false
ll_rows=this.rowcount()
如果ll_行数小于1,则
lb_enable=false
其他的
ll\u count=long(this.object.cf\u ind\u count[1])
如果ll_计数>0,则
lb_enable=true
其他的
lb_enable=false
如果结束
如果结束
parent.cb_ok.enable=lb_enable