コンテンツフレーム起動

プロセスの文書化 特殊な行 / セルのドラッグ&ドロップ動作 文書を SAP ライブラリストラクチャに組み込む

用途

グリッドコントロールの特殊な列またはセルに対してドラッグ&ドロップ動作を定義するには、このプロセスを使用します。行ごとまたはセルごとにそれぞれのドラッグ&ドロップ動作を定義することができます。

プロセスフロー

  1. データ型 LVC_S_LAYO のレイアウト構造を定義します。
  2. 以下の例に示すように、データ型 LVC_T_DRDR のドラッグ&ドロップテーブルを出力テーブルに追加します。
  3. DATA: BEGIN OF GT_OUTTAB OCCURS 0.
     DATA: BEGIN OF GT_OUTTAB OCCURS 0.
            INCLUDE STRUCTURE <DDIC-Struktur

    DATA: DATA:   CT TYPE LVC_T_DRDR."Table for d&d cell behavio

    DATA: END OF GT_OUTTAB.

  4. ドラッグ&ドロップ動作を定義してから、クラス cl_dragdrop のメソッド get_handle を使用してそのハンドルを取得します。
  5. データを選択して、出力テーブルにコピーします。
  6. ループ操作で出力テーブルを 1 行ずつ読み込みます。ドラッグ&ドロップテーブルの行には 2 つの項目があります。次のようにこの項目に値を割り当てます ( 次の節の図も参照してください )
  1. 内部テーブルの名前をレイアウト構造の項目 s_dragdrop-fieldname に割り当てます ( この例では 'CT' です。ステップ 2 を参照 )
  2. メソッド set_table_for_first_display を使用してレイアウト構造と出力テーブルを受け渡します。

注記

この後に、メソッド set_frontend_layout を使用して、ドラッグ&ドロップ動作が設定されているレイアウト構造を受け渡すこともできます。メソッド refresh_table_display が呼び出されると、 ALV グリッドコントロールによってこのテーブルがリフレッシュされます。 ALV グリッドコントロールのインスタンスと関連する出力テーブルの存続期間は同一でなければなりません。

次の図に示す出力テーブルでは、セル b 1 とセル c 1 に異なるドラッグ&ドロップ動作がそれぞれ設定されており、 2 番目の行全体にセル c 1 と同じドラッグ&ドロップ動作が設定されています。

このグラフィックは添付のテキストに説明されています

 

 

 

 

 

 

コンテンツフレーム終了