0

我在我的 angularjs 应用程序中使用引导服务器端数据表,现在我想在每分钟后重新加载该数据表的数据。那么我该怎么做呢?我正在使用以下代码:

HTML:

<table bs-table-control="matterTableControl"  id="matterTableControl"></table>

控制器:

$scope.getMatterTable = (function () {
    $scope.matterTableControl = {
        options : {
            toolbar : "#get",
            url : url,
            dataField : 'rows',
            cache : false,
            sidePagination : 'server',
            pagination : false,
            showExport : false,
            queryParams : queryParams,
            clickToSelect : true,
            onClickRow : onClickRow,
            maintainSelected : true,
            columns : [{
                    field : 'ClientName',
                    title : 'Client',
                    align : 'left',
                    valign : 'bottom',
                    sortable : false
                }, {
                    field : 'Name',
                    title : 'Matter',
                    align : 'left',
                    valign : 'bottom',
                    sortable : false
                }
            ]
        }
    }
});

我正在尝试使用以下代码重新加载它但没有成功:

$interval(function () {
   $scope.getMatterTable();
}.bind(this), 60000);

Datatable的文档:http: //bootstrap-table.wenzhixin.net.cn/documentation/

示例:http: //issues.wenzhixin.net.cn/bootstrap-table/#integrate/angular

数据表的Github代码: https ://github.com/wenzhixin/bootstrap-table-examples/tree/master/integrate/angular

4

2 回答 2

1

引导数据表是刷新表的正确方法:

angular.element( document.querySelector( '#matterTableControl' ) ).bootstrapTable('refresh');

它基本上是这样做的:

BootstrapTable.prototype.refresh = function (params) {
    if (params && params.url) {
        this.options.url = params.url;
        this.options.pageNumber = 1;
    }
    this.initServer(params && params.silent, params && params.query);
};

例子

于 2016-02-16T09:46:33.830 回答
1

刷新引导表的 data-url 的最佳方法是使用 refresh 方法和

$table.bootstrapTable('refreshOptions', {url: 'new url'});
$table.bootstrapTable('refresh', {url: 'new url'});

如果您不使用刷新选项,那么 BootstrapTable 仍将使用旧网址进行下一次刷新。例如,启用服务器端时的分页/排序/搜索。

此外,如果您创建了没有 JS 的表,那么您可以通过这种方式更新 URL

$('#tableId').bootstrapTable('refreshOptions', {url: 'new url'});
$('#tableId').bootstrapTable('refresh', {url: 'new url'});

如果需要添加加载器图标,则应在调用刷新方法之前添加,并通过 onLoadSuccess、onLoadError 事件删除加载器图标。

文档:http ://bootstrap-table.wenzhixin.net.cn/documentation/#methods

于 2016-07-29T00:52:23.390 回答