直到右键单击,HandsOnTable才会呈现所有列

时间:2017-02-27 17:38:11

标签: css jsfiddle handsontable

这似乎是完全疯了,我甚至无法发布一个合适的JSFiddle因为我无法复制这个,但是...

我有一个包含在div中的handontable元素,应该用来强制滚动条。该表只有3列但只有第一列呈现(我可以通过使用开发人员控制台检查看到其他两列不存在),直到我右键单击HandsOnTable元素。

该表基于:https://jsfiddle.net/horacebury/2vc606wx/30/

我正在使用的CSS是:

#handscontainer {
    width: 320px;
    height: 400px;
    padding: 0px;
    margin: 0px;
    border: 0px;
    overflow: hidden;
}

#trendgrid {
    width: 300px;
}

我正在使用的HTML是:

                    <div id="tablecontainer">
                      <table class="tgh">
                        <tr>
                          <td>Tag Name</td>
                        </tr>
                      </table>
                      <div id="handscontainer">
                        <div id="trendgrid" class="maximise"></div>
                      </div>
                      <table class="tg">
                        <tr>
                          <td class="footbuffer"></td>
                          <td class="tg-yw4l" ng-repeat="item in items track by $index">{{item}}</td>
                        </tr>
                      </table>
                    </div>

如果我没有overflow: xxx,问题就不存在,而且表格非常非常长(因为我需要加载~288行。)

3 个答案:

答案 0 :(得分:0)

结果显示HandsOnTable元素显示的角度选项卡不可见。我必须使该选项卡处于活动/可见状态,然后使用$ interval在加载数据之前给予HoT控制权。

        $interval(function() {
                loadTableData();
            },
            100,
            1);

答案 1 :(得分:0)

我通过删除outsideClickDeselects: false来解决了这个问题。

答案 2 :(得分:0)

HandsonTable不知道模态的宽度,这就是为什么仅渲染默认列(第一个td)的原因。 只需在显示模态后延迟创建HandsonTable

window.setTimeout(function () {
  loadTableData();
},1000);