PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15457 01/06/11 15:06:35 自分自身のカラムの値でprotectをかけることは可能でしょうか? By ichi

カテゴリ:データウィンドウ
日付:2001年06月11日 15:06 発信者:ichi
題名:自分自身のカラムの値でprotectをかけることは可能でしょうか?

データウィンドウのチェックボックスをラジオボタンのように使用しています。
**************************************************
*テーブル  カラム  Aフラグ / Bフラグ / Cフラグ   *
*                  (\"1\":ON / \"0\":OFFとします)    *
**************************************************
これを各1つのチェックボックスとして定義しています。

上記のように作成したデータウィンドウで
itemchengedイベントには、どこかがONになったら
その他をOFFにするよう下記のように記述しています。
たとえば
*****************************************
*  IF dwo.name = \"Aフラグ\" THEN         *
*     IF data = \"1\" THEN                * 
*        This.SetItem(row,\"Bフラグ\",\"0\")*
*        This.SetItem(row,\"Cフラグ\",\"0\")*
*     END IF                            *
*  END IF                               *
*****************************************

また各カラムの「式による設定」では自分自身がONになったときには
それをOFFにできないようにProtect属性を指定しています。

たとえばAフラグのProtectには次のように記述しています。
*******************************
*  if(Aフラグ = \"1\" , 1 , 0)  *
*******************************
これを実行するとON/OFFの制御はうまく動くのですが
protectの反応が一呼吸遅れます。
チェックをONにしてしばらく(1?2秒?)おくとprotectが
かかるのですが、すぐにもう一度クリックしてしまうと
protectがかからずOFFにできてしまいます。(ダブルクリックとして
反応しているようにも見えます)
Protectをすぐに反応させることはできないのでしょうか?
テーブル構造をかえることができず苦肉の策でこうしているのですが
何か他に良い方法をご存じのかたでも結構です。お力を貸してください。

会議室の検索をしてみたのですが適切な解決方法をみつけることが
できませんでした。よろしくおねがいします。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.2
Browser (記載なし)

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.