标题组上的复选框Datawindow Powerbuilder

问题描述:

为什么复选框不能在标题组上工作?但它正在处理细节。有没有代码来操纵数据窗口头部组中的复选框属性?标题组上的复选框Datawindow Powerbuilder

+0

我不相信任何类型的数据操作都可以在标头带中执行。我相信除了DETAIL之外的所有乐队都是只读的。 –

+1

您可以使用修改功能或数据窗口对象属性的相应点符号来更改属性。但是一般来说,除非你想跳过篮球,否则你想做的事情不会很容易。 –

我在标题栏中放了一个名为“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