クラス Editor_DBMENU

  • すべての実装されたインタフェース:
    CellEditor, SelectionCellEditor

    public class Editor_DBMENU
    extends AbstractEditor
    implements SelectionCellEditor
    カラムの編集パラメーターのSQL文の実行結果より、プルダウンメニューを作成して 編集する場合に使用するエディタークラスです。 編集パラメータには、プルダウンメニューを作成するための、SQL文を記述します。 このSQL文は、select KEY,LABEL from xx ・・・ という構文で、KEY部分とLABEL部分が 選択されます。 第一カラムはキー、第二カラムはラベルでこの2つは必須です。第三カラムは短縮ラベル、 第四カラムはグループ(optgroup)、第五カラムは色付け等に使うクラスです。 第五カラムの指定方法には、3通りあります。 ここでは、 ① "=" を含む場合は、そのままセット。(style='AAAA' など) ② disabled 単体の場合は、disabled="disabled" をセット ③ それ以外は、class= の後に、引数をセット します。 短縮ラベルが設定されている場合、一覧でこのエディタが適用されると短縮ラベル表示を した上でマウスオーバー時はツールチップで通常のラベルを表示します。 各カラムの値(value値)に、AAA:BBB:CCC:DDD という値を設定できます。これは、 $1,$2,$3,$4 に割り当てなおして、QUERYを実行します。また、$1 は、本来の値として、 メニューの初期値設定等に使用します。上記の例では、AAA が値で、それ以降は、 引数になります。 又、$Cには自分自身のカラム名を割り当てます。 この機能を使用すれば、動的メニューを行ごとに条件を変えて作成することが 可能になります。 例:select KEY,LABEL from xx where KUBUN='$2' and CDK='$3' さらに、元の文字列"AAA:BBB:CCC:DDD"は、$0 に割り当てられます。割り当てがない 変数は、""(ゼロ文字列)として、扱われます。 編集パラメータに"SEQ"と記述することで正方向にしか選べないシークメニューを実現できます。 これにより、シーケンスにステータスを順に挙げていくような、プルダウンメニュー を作成することが出来ます。(逆に戻れないメニュー) カラムの表示に必要な属性は, DBColumn オブジェクト より取り出します。 このクラスは、DBColumn オブジェクト毎に1つ作成されます。
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • Editor_DBMENU

        public Editor_DBMENU()
        デフォルトコンストラクター。 このコンストラクターで、基本オブジェクトを作成します。
    • メソッドの詳細

      • newInstance

        public CellEditor newInstance​(DBColumn clm)
        各オブジェクトから自分のインスタンスを返します。 自分自身をキャッシュするのか、新たに作成するのかは、各サブクラスの実装に まかされます。
        定義:
        newInstance インタフェース内 CellEditor
        パラメータ:
        clm - DBColumnオブジェクト
        戻り値:
        CellEditorオブジェクト
      • getValue

        public String getValue​(String value)
        データの編集用文字列を返します。 ここでは、AAA:BBB:CCC:DDD という値を、$1,$2,$3,$4 に割り当てなおして、 QUERYを実行します。また、$1 は、本来の値として、メニューの初期値設定等に 使用します。上記の例では、AAA が値で、それ以降は、引数になります。 さらに、元の文字列"AAA:BBB:CCC:DDD"は、$0 に割り当てられます。割り当てがない 変数は、""(ゼロ文字列)として、扱われます。 又、$Cには自分自身のカラム名を割り当てます。
        定義:
        getValue インタフェース内 CellEditor
        オーバーライド:
        getValue クラス内 AbstractEditor
        パラメータ:
        value - 入力値
        戻り値:
        データの編集用文字列
      • getValue

        public String getValue​(int row,
                               String value)
        name属性を変えた、データ表示/編集用のHTML文字列を作成します。 テーブル上の name に 行番号を付加して、名前_行番号 で登録するキーを作成し, リクエスト情報を1つ毎のフィールドで処理できます。 ここでは、AAA:BBB:CCC:DDD という値を、$1,$2,$3,$4 に割り当てなおして、 QUERYを実行します。また、$1 は、本来の値として、メニューの初期値設定等に 使用します。上記の例では、AAA が値で、それ以降は、引数になります。 さらに、元の文字列"AAA:BBB:CCC:DDD"は、$0 に割り当てられます。割り当てがない 変数は、""(ゼロ文字列)として、扱われます。 又、$Cには自分自身のカラム名を割り当てます。
        定義:
        getValue インタフェース内 CellEditor
        オーバーライド:
        getValue クラス内 AbstractEditor
        パラメータ:
        row - 行番号
        value - 入力値
        戻り値:
        データ表示/編集用の文字列