hiroto
(ki)
1
ログインユーザー名:loginUserName ←ログインユーザーの表示名
フィルタをかけたいフィールド名:ユーザー名
var query = ‘ユーザー名 like "’ + loginUserName + ‘"’;
こちらでアプリを開くときフィルタをかけたいのですが、絞り込みが行われません。
kintoneでは、Javaによる一覧表示のフィルタは表示の絞り込みができないのでしょうか。
コンソールのログは、フィルタがかかっている状態ですが、ひょうじされているレコード数は絞られていません。
おそらく、APIによってレコードを取得しただけで表示に関する処理が考慮されていないのではないでしょうか?
ご要望の動作を満たすには大きく分けて2種類あるかなと思っています。
1.カスタマイズビューを使用する方法
参考: カスタマイズビューを作成してみよう - cybozu developer network
今されようとしている方法に近いのかもしれません。
2.URLのクエリーを書き換える方法
参考: URL内のクエリで、表示するレコードの条件を指定する - cybozu developer network
ざっくり書くと下記のようなコード
kintone.events.on(['app.record.index.show'], function (event) {
const queryStr1 = encodeURIComponent('fXXXX="テスト太郎"');
//上記「XXXX」にはフィールドの内部IDが入ります。
//F12開発者ツールでフィールドを確認するとクラス名などに使われていたりします。
const query = "?q=" + queryStr1;
if (!location.href.includes(query)) {
const newUrl = location.href + query;
// 新しいURLに遷移する
document.location.href = newUrl;
}
});
hiroto
(ki)
4
ユーザー選択を使わずに、ログインユーザー名でフィルタをかけたいのですが、うまくいきません。
この表示形式ではログイン情報によるフィルタリングはできないのでしょうか。
今、ログインユーザー名でフィルターをかけたい方の氏名はどの種類のフィールドで保有していますか?「ユーザー選択」ですか?「文字列(1行)」ですか?
「ユーザー選択」ならば、
てんそさんも言われている「アプリの設定」⇒「一覧」から標準設定で絞込が可能です。
「文字列(1行)」ならば、
JavaScriptを使用した制御が必要になりますが、もしなら「文字列(1行)」を「ユーザー選択」に変更して標準設定で絞込が出来るようにしたほうが後々メンテナンスが楽になると思うのでお勧めです。
system
(system)
クローズされました:
7
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。