サブフォームをリスト表示にしたときのボタン押イベントで行番号を知りたい

コメント

5件のコメント

  • Avatar
    鈴木@Unifinity

    渡辺様

    ご質問いただきありがとうございます。

    サブフォームリストに配置したボタンから実行する処理内から、どの行・列のボタンをクリックされたかを判定する場合には以下のような方法がございます。

    クリックされたボタンの列を判定したい場合
    以下の画像のように処理ロジック内から「イベント発生物>名称」を指定することでどのボタンが押されたかを取得することが可能です。

    ボタン名称に列名などを付与することで、どの列がクリックされたかを判定することが可能かと存じます。


    クリックされたボタンの行番号を取得したい場合
    ボタンの実行処理に紐付けた処理内で「データセット/現在位置取得」を呼び出すことでクリックされたレコードの行番号を取得することが可能です。

    クリックされたボタンの行のデータを取得したい場合
    ボタンの実行処理に紐付けた処理内で「データセット/現在行取得」を呼び出すことでクリックされたレコードの行番号を取得することが可能です。
    「データセット/現在行取得」では、サブフォームの明細として設定する画面に紐付けられているコントロールをディクショナリーとして取得することが可能です。

    例)
    ●設定内容
    表に以下の列が存在
    ・社員番号
    ・氏名
    ・部署

    画面では以下のみ関連付け
    ・氏名
    ・部署

    ●「データセット/現在行取得」の結果
    氏名・部署を含むディクショナリーが処理結果となります。

    0
    コメントアクション パーマリンク
  • Avatar
    渡辺

    回答ありがとうございます。

    クリックされたボタンの行番号を取得したい場合
    ボタンの実行処理に紐付けた処理内で「データセット/現在位置取得」を呼び出すことでクリックされたレコードの行番号を取得することが可能です。

    ●「データセット/現在行取得」の結果
    氏名・部署を含むディクショナリーが処理結果となります。

    画面に関連付けているものだけが取得できるということは、
    基になるDBを検索するために必要となるキーに対応するものは
    それ用のコントロールを非表示で作っておく必要があるということでしょうか。

    0
    コメントアクション パーマリンク
  • Avatar
    鈴木@Unifinity

    渡辺様

    ご確認いただきありがとうございます。

    処理から取得したいが画面に表示したくない列を「データセット/現在位置取得」で取り扱いたい場合は、ご指摘の通り非表示のコントロールとして画面に配置して頂く必要がございます。

    データセット/現在位置取得」以外の方法であれば、「データベース/SQL実行」や「データベース/取得」から同一レコードの別の列を取得可能です。
    (この方法を用いる場合、リスト内にレコードのキーとなるフィールドと紐づくコントロールを取得する必要がございます。)

    0
    コメントアクション パーマリンク
  • Avatar
    渡辺

    回答ありがとうございます。

    データセットについても勘違いしていたところがあったので、回答で理解進みました。

    0
    コメントアクション パーマリンク
  • Avatar
    鈴木@Unifinity

    渡辺様

    ご返信ありがとうございます。
    また何かご不明な点などございましたら、コミュニティーをご活用頂けますと幸いです。

    引き続きどうぞ宜しくお願いいたします。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。