2

我写了一个 slickgrid 指令,但它似乎没有显示数据。

如果我确实检查了 chrome 中的元素,那么我可以看到呈现我的数据的slick-viewport和div。grid-canvas

我确实尝试resizeCanvas过,但没有效果。

基本上网格行被重新渲染,但它是不可见的。

我的模态看起来像这样

    <div id="TestModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="width: 900px; margin-left: -450px">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h3 id="myModalLabel">Results</h3>
            </div>
            <div class="modal-body">
             <myGrid
                           rows="results"  //results =  tow way bind to controller
                           columns="columns"  //columns =two way bind to controller
                           width="1100px"
                           height="200px"/>
            </div>
            <div class="modal-footer">
                <button ng-class="dialogButtonClass" data-dismiss="modal" aria-hidden="true">Select</button>
                <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
            </div>
   </div>

和codel启动它看起来像这样 $('#TestModal').appendTo("body").modal('show');

然后我按照记录的方式呈现数据

IE

var view= this.grid.getData();
           // To set the entire the data then use this
            view.beginUpdate();
            view.setItems(data, "id");
            view.collapseGroup(0);
            view.endUpdate();

任何帮助表示赞赏。

4

1 回答 1

10

确保当您检查顶层<div>(您初始化new Slick.Grid()的那个)时,它具有设定的宽度和高度。还要确保myGrid.resizeCanvas()仅在显示模式并且所有 CSS 转换完成后才调用:

$('#TestModal').on('shown', myGrid.resizeCanvas)
于 2013-08-02T20:22:53.560 回答