2017-10-05 27 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 
関連する問題