将HandsOnTable约束到其父容器的大小

时间:2015-06-09 18:23:48

标签: javascript css handsontable

我意识到这是一个简单的例子,但我希望得到一些关于HandsOnTable如何在容器内表现的解释。例如我们有一个标签,我们放置HoT,我们希望它占用100%的容器空间,但是现在它似乎没有受到限制。

这是一个例子。我们喜欢把它限制在红色框内。



document.addEventListener("DOMContentLoaded", function() {

  var
    myData = Handsontable.helper.createSpreadsheetData(200, 100),
    container = document.getElementById('example1'),
    hot;

  hot = new Handsontable(container, {
    data: myData,
    rowHeaders: true,
    colHeaders: true,
    fixedColumnsLeft: 2,
    contextMenu: true,
    manualColumnFreeze: true
  });

  function bindDumpButton() {
    if (typeof Handsontable === "undefined") {
      return;
    }

    Handsontable.Dom.addEvent(document.body, 'click', function(e) {

      var element = e.target || e.srcElement;

      if (element.nodeName == "BUTTON" && element.name == 'dump') {
        var name = element.getAttribute('data-dump');
        var instance = element.getAttribute('data-instance');
        var hot = window[instance];
        console.log('data of ' + name, hot.getData());
      }
    });
  }
  bindDumpButton();

});

</style><!-- Ugly Hack due to jsFiddle issue -->

<script src="http://docs.handsontable.com/0.15.0-beta3/scripts/jquery.min.js"></script>
<script src="http://docs.handsontable.com/0.15.0-beta3/bower_components/handsontable/dist/handsontable.full.js"></script>
<link type="text/css" rel="stylesheet" href="http://docs.handsontable.com/0.15.0-beta3/bower_components/handsontable/dist/handsontable.full.min.css">
&#13;
<div style="height: 100px; width: 100px; background-color: red;">
  <div id="example1" class="hot handsontable"></div>
</div>
&#13;
&#13;
&#13;

http://jsfiddle.net/jxh52650/

1 个答案:

答案 0 :(得分:4)

不幸的是,红色并没有出现在小提琴中,但我认为你想要的是stretchH:"all"属性。这可以确保如果在父容器上设置width,它将拉伸所有列以将其填充100%。之后,您希望将容器的样式设置为overflow:auto,这会将HOT实例限制为指定的宽度和高度,然后使用滚动条。