2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Wijmo3のgridを使う

Last updated at Posted at 2017-08-31

 Google日本語入力に甘やかされて生きているので客先のことえりがつらいヽ(´@ω@`)ノ
 Wijmoの話しまーす。

Wijmoとは

 株式会社グレープシティのHTML5/Javascript製品です。→Wijmo
 HTML上でExcelライクなUIを作成したりできます。
 この会社、フォーガンシーも含め私のExcel嫌いをガンガン踏み抜くすてきな会社です(地声)エクセルがやりたいならエクセルでやれよ(地声)
 でもたぶんあれだよね、これ系の、今までExcelでやってた内容に拘るお客様、どっかの低俗SIerとかいう武器商人みたいなのに業務改善とか言われてわけもわからず発注させられちゃってるんだろうし、そういう発注を受けちゃったシステム屋を助けてくれるのがWijmoだと思うと憎む気にもなれないような……。
 大体にして、今までExcelでやってたのと同じことを! と言い出すお客様、そんなに業務改善を望んでいないような気がするんだよな……。経験上。不慣れなものが入るとそれだけで業務は圧迫されるし。何がどう良くなって欲しいかのイメージも特に持ってない、みたいな。

 閑話休題。
 ギョームでWijmoを使ったのでザラッとした感想と忘備録。備忘録。

grid

 参考
 表を作る。ソートとフィルタリングができるのはたいへんに良いことだと思う。
 angularJS知ってればそっちの方が楽じゃね? と思ったりしますけど、取っ付きやすさコードの短さで言えばWijmoに軍配かしらといった具合。書かないで済むし。
 

gridの入力制限

 inputTypeプロパティにnumberとかbooleanを指定してやることで割と自動で完了。booleanはチェックボックスになる。
 ただ、MySQLはboolean=tinyintになってしまうので、ちょっとこの辺りは食い合わせが悪い。postgreならそんなに腐心しなくて済んだのかもしれない。腐心ってほど悩みゃしませんでしたが。
 ドキュメントはこのへんこのへんを見るとデータ型の設定はわかりやすいかなと思います。
 ただ検索するとWijmo5のFlexGridの話ばっかりじゃんじゃか出てきてちょっと困りました。
 

ページング

 grid初期化の際にallowPaging : true,pageSize:10とか設定してやると割と自動でページネーションが表示される。便利。
 ただ新規行追加の際、何も考えずdata.push(newRow)みたいなことをしたら一番最後のページの一番下に行追加されるというめんどっちい目に遭ったので注意。unshiftをオススメする。
 初期化時の設定項目とかはこちら:ドキュメント

特定列の入力コントロールを変更する

プルダウンメニュー

 参考
 Gridの特定列(のいずれかのカラム)が選択された時にそのカラムにinputコントロールを物理的にぶちこむスタンス。ヤダ強引。
 ちなみに、ドキュメント見ながらデータ配列を[{label:"hoge",value:"moge"}]の形にしてみたのだけど、値をうまく取得できず……。謎い。ラベルなんか取れても困る。
 Excelをモデルにしてると考えれば表面の文字が取れてくるのはまったく自然なことで、マスタデータの表示名を表示してIDを取得〜みたいな頭のいいことはやらないで、すべてベタ書きでやると一番楽だと思います。

カレンダー

 上記を参考に

    $("<input />").width("100%").val(args.cell.value()).appendTo(
            args.cell.container().empty()).wijinputdate({
                dateFormat: 'yyyy-MM-dd HH:mm:ss'
    }).focus();

みたいなこと書いたら動いた。力こそパワー。

雑感

 個人的には、PHPとかJavaのフレームワークに組み込んでそっちのコントローラと一緒に扱うよりは、APIとajax通信でやった方が使い勝手がよい、という印象。
 ソースコードとかシステムとしてのスマートさよりも楽さの方が目立ちます。難しいこと考えなければそれなりのものがばしっと作れる。DBの正規化とか考えない方がよさそうです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?