2017-08-21 57 views
0

我有一個數據窗口,帶有複選框和一個按鈕'OK'。該按鈕被禁用,直到至少有一個複選框被選中。問題是,如果我有多個複選框選中,我想取消選中一個按鈕禁用。我在itemchanged事件中編寫了代碼:如何根據選中複選框powerbuilder的數量啓用按鈕?

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 

我在做什麼錯?

謝謝!

回答

0

您可以在名爲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 
0

變量'data'只適用於當前行。你需要使用getitemstring。

相關問題