表を操作する
HandsonTableの基本
HandsonTableを使うと表のデータの書き換えや、行・列の追加などが簡単にできます。商用利用は有料(年$899~)です。
下記の表はcellのデータの書き換えやソートが可能です。A、B、Cの文字をクリックすると、昇順、降順にソートができます。
handsontableのサイト(使い方の詳しい説明がついています)
GitHubのhandsontableのサイト
Qiitaの参考サイト1(導入と設定)
Qiitaの参考サイト2(実装)
Qiitaの参考サイト3(行・列を挿入・削除など)
Qiitaの参考サイト4(「わんすけに聞いてみる」さんのサイト)
上記の表を作成するためのCODEを見る
HTML
<div id="handsontable0"></div>Javascript
// 下記を読みこませておく! <script src="ht/handsontable.js"></script> var grid = document.getElementById('handsontable0'); var table0 = new Handsontable(grid, { data : [ [ "メーカー", "製品名", "ワット数", "金額", "重量", "燃料", "騒音", ], [ "A-iPower", "SJA2300i", "1800", "62999", "23", "ガソリン", "", ], [ "SUMEVE", "", "2000", "63750", "19", "ガソリン", "55", ], [ "アイリスオーヤマ", "IGG-900", "900", "59281", "14.4", "ガソリン", "", ], [ "アイリスオーヤマ", "IGG-1600", "1600", "86048", "21", "ガソリン", "", ], [ "ホンダ", "EU9iGB", "900", "104800", "19.5", "カセットボンベ2本", "79~84",], [ "ホンダ", "EG25i", "2500", "114980", "29.9", "ガソリン", "", ], [ "ホンダ", "EU18i", "1800", "146000", "21.1", "ガソリン", "90", ], [ "ホンダ", "EU9iT1 JN1", "900", "92864", "13", "ガソリン", "86", ], [ "ヤマハ", "EF9HiS", "900", "87991", "12.7", "ガソリン", "防音型", ], [ "ヤマハ", "EF16HiS", "1600", "116501", "20", "ガソリン", "防音型", ], [ "ヤマハ", "EF2000iS", "2000", "181491", "32", "ガソリン", "防音型", ], [ "ヤマハ", "EF2500i", "2500", "128700", "29", "ガソリン", "65~69", ], [ "ワキタ", "HPG1600i2", "1600", "93500", "21.5", "ガソリン", "86", ], [ "ワキタ", "HPG2300iS", "2300", "103939", "30.7", "ガソリン", "82", ], [ "ワキタ", "HPG3000i", "3000", "103939", "34.5", "ガソリン", "90", ], [ "工進", "GV-9i", "900", "57958", "14", "ガソリン", "65~58", ], [ "工進", "GV-16i", "900", "85397", "22", "ガソリン", "65~59", ], [ "工進", "GV-28i", "900", "139799", "38", "ガソリン", "68~65", ], ], rowHeaders: true, //行のヘッダーを表示 colHeaders: true, //列のヘッダーを表示 columnSorting: true, // 列のソートを可能にする contextMenu: { // cell上で右クリックしたときにメニューを表示 items: { row_above: { name: '上に行を挿入' }, row_below: { name: '下に行を挿入' }, col_left: { name: '左に空列を挿入' }, col_right: { name: '右に空列を挿入' }, remove_row: { name: '選択している行を削除' }, remove_col: { name: '選択している列を削除' }, } }, minSpareRows:1, // 最後に空白行を追加する数 licenseKey: 'non-commercial-and-evaluation' // 大事なライセンスキーをここに置く });CSS
<link href="ht/handsontable.full.css" rel="stylesheet" type="text/css">
HandsonTableを使って表を操作する
jquery.handsontable.jsを使って表のデータを書き換える。
JSONが正しいFORMATになっているかチェック&整形サイト
JSONのファイルには配列の最後のデータには「,」を絶対につけないこと。またJSONの最後に「;」も絶対につけない!!
CODE
HTML
<div id="handsontable1"></div>Javascript
// 下記を読みこませておく! <script src="js/jquery.handsontable.js"></script> var grid = document.getElementById('handsontable1'); var table = new Handsontable(grid, { data: [ ['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i', 'j', 'k', 'l'], ['m', 'n', 'o', 'p'], //連想配列の場合は下記の様に{}です!! //{maker:"メーカー", productName:"製品名", watt:1800, price:0, weight:10, nenryou:"ガソリン", noise: 0} ], rowHeaders: true, colHeaders: true, columnSorting: true, // 列のsortを可能にする contextMenu: { // 右クリック items: { row_above: { name: '上に行を挿入' }, row_below: { name: '下に行を挿入' }, col_left: { name: '左に空列を挿入' }, col_right: { name: '右に空列を挿入' }, remove_row: { name: '選択している行を削除' }, remove_col: { name: '選択している列を削除' }, } }, minSpareRows:1, // 空白行追加数 licenseKey: 'non-commercial-and-evaluation' }); hatsudenki.json=下記↓ 各行の最後のデータの後に「,」を付けない。また全体の最後にも「;」を付けない [ [ "メーカー", "製品名", "ワット数", "金額", "重量", "燃料", "騒音" ], [ "A-iPower", "SJA2300i", "1800", "62999", "23", "ガソリン", "" ], [ "SUMEVE", "", "2000", "63750", "19", "ガソリン", "55" ], [ "アイリスオーヤマ", "IGG-900", "900", "59281", "14.4", "ガソリン", "" ], [ "アイリスオーヤマ", "IGG-1600", "1600", "86048", "21", "ガソリン", "" ], [ "ホンダ", "EU9iGB", "900", "104800", "19.5", "カセットボンベ2本", "79~84" ], [ "ホンダ", "EG25i", "2500", "114980", "29.9", "ガソリン", "" ], [ "ホンダ", "EU18i", "1800", "146000", "21.1", "ガソリン", "90" ], [ "ホンダ", "EU9iT1 JN1", "900", "92864", "13", "ガソリン", "86" ], [ "ヤマハ", "EF9HiS", "900", "87991", "12.7", "ガソリン", "防音型" ], [ "ヤマハ", "EF16HiS", "1600", "116501", "20", "ガソリン", "防音型" ], [ "ヤマハ", "EF2000iS", "2000", "181491", "32", "ガソリン", "防音型" ], [ "ヤマハ", "EF2500i", "2500", "128700", "29", "ガソリン", "65~69" ], [ "ワキタ", "HPG1600i2", "1600", "93500", "21.5", "ガソリン", "86" ], [ "ワキタ", "HPG2300iS", "2300", "103939", "30.7", "ガソリン", "82" ], [ "ワキタ", "HPG3000i", "3000", "103939", "34.5", "ガソリン", "90" ], [ "工進", "GV-9i", "900", "57958", "14", "ガソリン", "65~58" ], [ "工進", "GV-16i", "900", "85397", "22", "ガソリン", "65~59" ], [ "工進", "GV-28i", "900", "139799", "38", "ガソリン", "68~65" ] ] $(function() { $.getJSON("json/hatsudenki2.json" , function(data) { //console.table(data); $("#handsontable1").handsontable("loadData", data); }); }); </script>CSS
<link rel="stylesheet" media="screen" href="css/jquery.handsontable.css">