2017-10-05 95 views
0

爲什麼複選框不能在標題組上工作?但它正在處理細節。有沒有代碼來操縱數據窗口頭部組中的複選框屬性?標題組上的複選框Datawindow Powerbuilder

+0

我不相信任何類型的數據操作都可以在標頭帶中執行。我相信除了DETAIL之外的所有樂隊都是隻讀的。 –

+1

您可以使用修改功能或數據窗口對象屬性的相應點符號來更改屬性。但是一般來說,除非你想跳過籃球,否則你想做的事情不會很容易。 –

回答

0

我在標題欄中放了一個名爲「mycheckbox」的列,並將編輯類型更改爲複選框。我在數據窗口控件的單擊事件中添加了此代碼以切換複選框。

if dwo.name = "mycheckbox" then 
     long ll_row 
     any la_off, la_on, la_value 
     ll_row = long(Object.DataWindow.FirstRowOnPage) 
     if ll_row > 0 then 
      la_value = Object.mycheckbox[ll_row] 
      la_on = Object.mycheckbox.CheckBox.On 
      la_off = Object.mycheckbox.CheckBox.Off 
      if la_value = la_on then 
       la_value = la_off 
      else 
       la_value = la_on 
      end if 
      Object.mycheckbox[ll_row] = la_value 
     end if 
    end if 

注: 這隻會更改在數據窗口中的第一行的值。如果有多行並向下滾動,則複選框可能會更改。

此代碼切換所有行的值。

if dwo.name = "mycheckbox" then 
     any la_off, la_on, la_value 
     long ll_row, ll_rows 
     ll_row = long(Object.DataWindow.FirstRowOnPage) 
     if ll_row > 0 then 
      la_value = Object.mycheckbox[ll_row] 
      la_on = Object.mycheckbox.CheckBox.On 
      la_off = Object.mycheckbox.CheckBox.Off 
      if la_value = la_on then 
       la_value = la_off 
      else 
       la_value = la_on 
      end if 
      ll_rows = Rowcount() 
      for ll_row = 1 to ll_rows 
       Object.mycheckbox[ll_row] = la_value 
      next 
     end if 
    end if