ドロップダウンのリストを動的に作成

お世話になります。

既出かもしれませんが・・・。

別アプリからデータを取得し(コードと名称)、ドロップダウンを作成したいのですが、そのドロップダウンはフォームには文字列フィールドを指定しておくのでしょうか?

HTMLでいうと↓のようなドロップダウンを作成したいのですが、「フォームの設定の変更」を参照していたのですが、具体的にpropertiesにどのように設定したらよいのかわかりませんでした・・・。

<select name=“myselect” >

<option value=“1”>りんご</option>
<option value=“2”>みかん</option>

<option value=“3”>ぶどう</option>

</select>

ご教授いただけませんでしょうか。

よろしくお願いいたします。

 

 

古川さん、こんにちは。

古川さんのやりたいこととは違っているので、あくまで参考まで。

別アプリのデータを選択させたい場合は、通常であれば「ルックアップ」の機能を使うことが多いです。

データを選択するときの操作が、ドロップダウンよりも若干手間が増えますが、動的にデータ選択ができるようになると思います。

 動的にドロップダウン生成ということですが、なにか特別な要件があるということでしょうか?

Shotaro Matsudaさん

お世話になります。

コメントありがとうございます。

別アプリのデータで動的にドロップダウンを作成したい理由ですが、

データにはコード値を登録し、画面表示時はその名称を表示、というようにしたいです。

別アプリにコード値とそれに対する名称をもっていて、画面表示時やデータ登録・更新時にはその都度取得するよう考えています。

ドロップダウンで選択させるのは別アプリの全データではなく条件で絞り込んだ結果になるので、別アプリのレコードを取得してドロップダウンを作成する、と考えました。

他に良い方法があれば試してみたいとも思いますが、何かありますでしょうか?

よろしくお願いいたします。

古川さん

ルックアップフィールドを使った場合のイメージです。

  1. 別アプリに、コードと名称を持たせておき、
  2. ルックアップフィールドの設定で、コードを取得すると同時に、
    「ほかのフィールドのコピー」設定で、名称をコピーするように設定する。

この方法の問題点としては、「全データではなく条件で絞り込んだもの」から選択させるというところですが、
アプリ単位で一定条件であれば、ルックアップフィールドの設定にある、「絞り込みの初期設定」で絞り込み可能です。

レコード内で選択されたデータの条件によって、選ばせたいものが変わるということであれば、標準機能ではキビシイと思います。

 

イメージ:

Shotaro Matsudaさん

お世話になります。

どうもありがとうございます!やりたいことに近い感じです。

あと、追加で質問させてください。

「絞り込みの初期設定」で別アプリの検索条件を指定する際に、ログインユーザーに紐付くものであるとかその他条件をSQLを書くように自由に設定する方法はありますか?

また、コードは内部的に必要ですが、画面表示は必要ないので名称のみ表示することは可能でしょうか?

よろしくお願いいたします。

古川さん

こんにちは。

絞り込みの初期設定の設定ですが、絞り込みたい条件が別アプリのユーザー選択系のものであれば、

○○フィールド=’ログインユーザー’ というような設定が可能です。

ログインユーザー関連の絞り込みであれば、ログインした人によって動的に変更することが可能ですが、
その他の条件で絞り込む場合は、アプリ単位での設定となります。

別アプリ(マスタ側)の絞り込み項目を工夫する必要がありますね。

 

ルックアップするフィールドを、上記のサンプルではコードにしています。

同時に、名称をコピーする。というやり方をしていますが、ここをやりたい事に合わせて変更すれば大丈夫だと思います。

ルックアップフィールドの設定方法のヘルプ等、参考にしてみてください。

 

 

Shotaro Matsudaさん

お世話になります。

ご丁寧に説明していただいてどうもありがとうございます。

ルックアップを利用してやってみることにしました。

また追加で質問で申し訳ないのですが・・・。

「絞り込みの初期設定」で別アプリに持っている担当者のコードとログインユーザーの社員コードが一致するもので絞り込みたいのですが

上記のユーザーを選択する画面をどうしたら表示できるのでしょうか?

別で設定が必要なのでしょうか?

よろしくお願いいたします。

古川さん

絞り込み条件を設定する際の、ログインユーザーを設定する操作が少しわかりにくいですよね。

以下の画像でご理解いただけますでしょうか。

  • マスターアプリには名称の他、ユーザー選択フィールドで「担当者」を設定しています

 

1.ルックアップフィールドの設定画面

 

2.ログインユーザーの選択・追加

3.設定後

このように設定されていればOKです。

※この設定方法、ちょっと見つけにくいので、知らなかったという人もいらっしゃいます。

ルックアップのヘルプでも、ふつうに使われていますね。

 

 

Shotaro Matsudaさん

お世話になります。

絞り込みの初期設定で担当者を選択してもアイコンが表示されないのですが、ほかに設定がありますでしょうか?

よろしくお願いいたします。

古川さん

ログインユーザーを絞り込み条件として使うためには、

文字列フィールドではなく、「ユーザー選択」フィールドを使うことが必要です。

 

古川さんの設定を見ると、担当者コードは文字列(1行)フィールドでしょうか?

担当者の方がkintoneユーザーであるなら、ユーザー選択フィールドで設定すればいいと思います。

 

Shotaro Matsudaさん

お世話になります。

>文字列フィールドではなく、「ユーザー選択」フィールドを使うことが必要です。

見落としていました。上手くいきました!

本当にどうもありがとうございました。

古川さん、

よかったです!

本件の説明を、記事にまとめていますのでご参考まで。

https://pj.asunote.jp/lookup-filted-by-login-user/

Shotaro Matsudaさん

お世話になります。

とてもわかりやすいですね。今後の参考にさせていただきます!

あと、また、追加で質問なのですが、、、

「参照先からデータが取得されました。」のメッセージを非表示にすることは可能でしょうか?

よろしくお願いいたします。