ドラッグアンドドロップについて

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 ドラッグアンドドロップについて

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • 著者
    投稿
  • #6752
    伊予研究会
    一般参加者

     テーブルAのセルデータを、テーブルBにドラッグアンドドロップしたい。
     マウスプレスでセルデータを取得し、ドラッグの後マウスリリースでテーブルBのリリースしたセルに入れたいのですが、セルデータを取得する「データ選択イベント」よりも「マウスイベント」の方が先に発生し、マウスをリリースした時点でないとデータが取得できません。
     どのタイミングでデータを取得し、ドロップしたテーブルBのセル位置を取得する方法について、ご教示ください。
    よろしくお願いいたします。

    #6755
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。
    (1)[テーブル]から発生するイベントのタイミングはコントロールすることができませんが、マウスプレスした時点でのセル位置は、マウスイベントに内包されるX座標、Y座標を使って知ることができます。[テーブル]のメソッド「getRowIndexByLocationY(int)」と「getRowIndexByLocationX(int)」でセル位置を指定し、指定セルの値を取得することができます。

    (2)しかし、MZPlatformの[テーブル]には現在のところドロップ機能がありません。
    また、マウスクリックが起こったテーブルAから外に出てマウスリリースすると、イベントが取得されないようです。したがって、テーブルBでマウスリリースした位置を知ることは、現在のところ難しいです。

    念のため(1)のみ処理を追加したファイルを添付いたします。
    テーブルAのセルをクリックした後、テーブルBのセルをクリックすると値がペーストされます。しかし、これはマウスイベントを使わなくても実現できるかと思います。

    他に良い方法があれば、再度ご連絡いたしますが、もしテーブルAの内容が多くなければ、テーブルBの列にテーブルAのデータを選択リストとして設定して、選択できるようにすることも考えられます。

    以上、ご要望、ご不明な点等ございましたら、再度ご連絡ください。
    ご不便をお掛けいたしますが、よろしくお願い申し上げます。

    #6757
    伊予研究会
    一般参加者

    ご回答ありがとうございました。添付していただいたファイルの機能で十分です。助かりました!!
    (1)の方法も考えてはおりましたが、座標で判断するのはプログラムが煩わしくなるので思案していたところです。
    取り急ぎ、お礼まで。

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • このトピックに返信するには、ログインしてください。