Handsontableにお詳しい方、似たような実装をされた方、お手隙の際にアドバイスいただけると助かります。
■使用技術
Handsontable 6.2.2 https://handsontable.com/ (Execel風のテーブルを実装できるライブラリ)
Resizable https://jqueryui.com/resizable/ (指定したdiv等をリサイズできるようにするライブラリ)
■やりたいこと
Resizableによって動的にサイズ変更できるの中に生成されたHandsontableのサイズを、<div>の大きさに合わせて変更したい。
■現状
サイズを変更してもうまくテーブルのサイズが変更されない。
■試したこと
・Handsontableの各種設定(stretchHはwindowサイズには追従してサイズ変更してくれるがdivのリサイズには効かない。preventOverflowを設定したら挙動がおかしい。)
javascript
1tableSettings = { 2 data: dataObject, 3 autoColumnSize: true, 4 colHeaders: searchName, 5 rowHeaders: rowHeaders, 6 stretchH: 'all', 7 outsideClickDeselects: false, 8 columns: columns 9 }; 10
・リサイズされるをMutationObserverで監視し変更されたサイズを取得、そのサイズをテーブルにセッティング(変更されない)
javascript
1const target = document.getElementById('content' + graphNo) 2const table = document.getElementById('table' + graphNo) 3const observer = new MutationObserver((mutations) => { 4 mutations.forEach((mutation) => { 5 console.log('width : ' + mutation.target.clientWidth) 6 console.log('height : ' + mutation.target.clientHeight) 7 table.style.width = mutation.target.clientWidth + "px" 8 console.log(table.style.width) 9 }); 10}); 11const config = { 12 attributes: true, 13}; 14observer.observe(target, config);
あなたの回答
tips
プレビュー