DataTablesは、手軽に多機能なテーブルを作成できるjQueryプラグインです。 キー入力で反応する絞り込み機能等を備えているので、大量のデータを扱うのに便利です。 DataTables及びjQueryはCybozu CDNにてサポートされているので、ご利用ください。
サンプル
DataTablesを用いてカスタマイズビューを作成しました。
※サンプルに用いたデータはなんちゃって個人情報にて作成したものです。実在の人物とは関係ありません。
コード
HTML(一覧名: DataTables)
<table id="myTable"></table>
JavaScript
下記を順に読みます.
- https://js.cybozu.com/jquery/3.5.1/jquery.min.js
- https://js.cybozu.com/datatables/v1.10.20/js/jquery.dataTables.min.js
- https://kintone.github.io/kintoneUtility/kintoneUtility.min.js
- sample.js (下記参照)
・sample.js
(function () {
"use strict";
kintone.events.on(['app.record.index.show'], function (event) {
if (event.viewName !== 'DataTables') return;
// 表示するフィールドをフィールドコードで指定
var columns = ['名前', 'ふりがな', 'アドレス', '性別', '年齢', '誕生日', '婚姻', '携帯', 'カレーの食べ方', ];
kintoneUtility.rest.getAllRecordsByQuery({
app: kintone.app.getId()
}).then(function (response) {
$('#myTable').DataTable({
data: response.records.map(function (record) {
return columns.reduce(function (data, column) {
data[column] = record[column].value;
return data;
}, {
レコード番号: '<a href="show#record=' + record.レコード番号.value + '">' + record.レコード番号.value + '</a>'
});
}),
columns: ['レコード番号'].concat(columns).map(function (column) {
return {
title: column,
data: column
};
})
});
});
});
})();
CSS
下記を読みます.
※2020/07/15修正.
11件のコメント
ゲストスペースで同じように機能させるにはどのようにすれば良いものでしょうか?
なぜかゲストスペースではできないのです。
RYOSUKE様
お世話になっております。
cstapの江田です。
ゲストスペース内で利用する場合は、kintoneUtility.rest.getAllRecordsByQuery()のパラメータisGuestをtrueにしてください。https://github.com/kintone/kintoneUtility/blob/master/guides/rest_doc.md#getAllRecordsByQuery
↓
cstapの江田さまへ
ありがとうございましたm( _ )m
全くの初心者です。このコードをJSeditを使い反映させるさせるにはどうしたらいいですか?
上のjavascriptのコードのコピーだけではだめでしょうか?
小田研人様
お世話になっております.
読み込みが必要なライブラリを追記しました.
「アプリの設定 > JavaScript / CSSでカスタマイズ」でライブラリを読み込んでください.
JSEditで作成したコードが既に読み込まれていると思うので,ドラッグアンドドロップでライブラリが先に読み込まれるよう設定してください.
https://jp.cybozu.help/k/ja/user/app_settings/js_customize.html
素晴らしい機能だと思います。
初心者で、完コピーしてもうまくいかなかった-_-
江田篤史様
こんにちは、とても素晴らし機能だと思いました。
URL等を手順通りに読み込んだのですが上手く反映されませんでした。
JSにてフィールドコード以外に書き換えの必要な箇所があるのでしょうか、またJS以外の箇所にて問題があるのでしょうか。
ご教示いただけると幸いです。
何の解決策も提示できませんが、
こちらが上手くいかない理由はUSL指定で3つめに読み込んでいる
https://kintone.github.io/kintoneUtility/kintoneUtility.min.js
のリンクが切れているから、だと思います(2022/6/16 AM時点)。
これが復活しない限りは、おそらくこのプラグインは使えないですね・・・。自分も残念です。
nekoko さん
Y.Kami さん
↓こちらからダウンロードできそうですよ!?
https://developer.cybozu.io/hc/ja/articles/900003738746-kintone-Utility-for-JavaScript-%E3%81%AE-URL-%E3%81%A7%E3%81%AE%E9%85%8D%E4%BF%A1%E5%81%9C%E6%AD%A2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
ただ、だいぶ前から「非推奨」なので
↓こちらに乗り換え(&コードも書き換え必要)することはオススメしたいです
https://developer.cybozu.io/hc/ja/articles/900000767263
Y.Kami様
お世話になっております。返信遅くなりすみません。
リンクが切れてしまっていたのですね...
教えて頂きありがとうございます。
らいと様
お世話になっております。返信遅くなりすみません。
ダウンロード可能なサイト及び乗り換えのリンクのご提示ありがとうございます。
二つ目のリンクを参考にコードの書き換えを行っていこうと思います。
解決対策のご教授ありがとうございました。