満足への果てしない旅

2018/08/22

IT 仕事

jQueryのプラグインであるDataTablesで複数レコードの更新ができない…?!

山口建設では、効率的な業務運営のために様々なIT化の取組を実施しております。

数ある中の一つに、掛率管理というものがあります。

我々リフォーム会社は、直接メーカーから商品を買うことはなく、問屋さん経由で商品を買っています。

山口建設が取り扱う主要な商品だけでも200を超えます。

  • どこのメーカーの商品が、どこの問屋さん経由だとどれぐらいで買えるのか?
  • どこの問屋さんが一番効果的なのか?

などの判断をする必要がありますが、商品一覧を作って、入力したものを送ってもらって、一覧表に記載をしなおして、などとしていくとかなり大変になります。

そこで、掛率管理システムです。

掛率管理システム

このように各メーカーの商品の掛率が、問屋毎に一覧で分かるようになっています。

今夏は各メーカー、新商品が登場しているので、メーカーの担当者さんに、商品登録を実施してもらい、それに応じて問屋の担当者さんに、掛率の登録をお願いしたのですが、どうやらシステムとして登録できていなかった模様…。

DataTablesのエクセル出力を実施するために、CDNを公式ページを参考にして更新したのが影響したのか、全く不明。

200レコードぐらいはあるのに、POSTされるレコードが80で終わってしまっています。

上図の画面のようなスクロールバーを構成するために、DataTablesのオプションに下記のような記載を実施していました。

        scroller: true,
        scrollX: true,
        scrollY: 500,
        bPaginate: true,

この、scrollYの値を増やすと、POSTされるレコード数も増えるということが判明。

実際にページングは不要なのですが、bPaginateか?ということで、bPaginateをfalseにすると、下図のような警告が表示されてしまう…

フォーラムでも「New version of scroller error “Pagination must be enabled for Scroller” why should pagination be on?」として記載されていたので、bPagenateはtrueにしないといけないのかなーと思いつつ、試行錯誤の結果、下記であればDiv内にスクローラーが付き、さらにはレコードも全て送信することができました。

        scroller: false,
        scrollX: true,
        scrollY: 500,
        bPaginate: false,

scrollerがfalseなら、bPaginateもflaseにすればいいんですね。

そして、これらがfalseでも、Div内のスクロールは保たれたままでした。

Scrollerの扱いを根本的に勘違いしてそうですが、これで適切に運用を再開できそうで何よりです!

リフォームのお見積り・プランニングなど、
お気軽にご相談ください

直接相談したいという方は
下記フリーダイヤルよりご連絡ください。
担当スタッフが対応させていただきます。