列表是数据的展现方式之一,可以更加直观的进行数据查验。在本篇文章中,我们将通过基于bootstrap封装的angular grid来展示其具体的使用方法和效果。

准备工作

首先,我们需要下载angular-ui-grid组件,通过这个名称,我们可以在github中找到其具体的项目地址,我这里就不再贴了,大家可以自行寻找。

然后,项目下载下来之后我们需要包括到工程中,并在页面中进行引入:

    <!--UIGrid Part-->
    <script src="~/Content/front/angular-ui-grid/ui-grid.min.js"></script>

然后是Html模板的设置:

  <div class="datacontainer">
        <div class="row">
            <div class="col-md-12">
                <div class="panel panel-default">
                    <div class="panel-heading">{{selectedMachine.machine_name}}列表数据</div>
                    <div class="panel-body" style="height:auto;overflow:auto">
                        <div ui-grid="gridOptions" ui-grid-selection ui-grid-pagination></div>
                    </div>
                </div>
            </div>
        </div>
    </div>

绑定列表数据

好了,设置完毕,我们去controller中进行相关的绑定操作即可:

app.controller('collectorController', ['$scope', '$cookies', '$timeout','$compile', 'baseService', 'collectorService', 'uiGridConstants', function ($scope, $cookies,$timeout,$compile, baseService, collectorService, uiGridConstants) {
    var self = this;

    //绑定列表
    $scope.gridOptions = {
        enableRowSelection: true,
        enableSelectAll: false,
        selectionRowHeaderWidth: 35,
        rowHeight: 35,
        showGridFooter: false,
        multiSelect: true,
        enablePaginationControls: true,
        paginationPageSizes: [9, 15, 20],
        paginationPageSize: 9
    };

    $scope.gridOptions.columnDefs = [
			{ name: 'Param_name', displayName: '参数名称' },
			{ name: 'Param_unit', displayName: '参数单位' },
            { name: 'Param_data', displayName: '参数值' },
            { name: 'Param_time', displayName: '采集时间' }
    ];

    $scope.gridOptions.onRegisterApi = function (gridApi) {
        $scope.gridApi = gridApi;
    };

    $scope.ClickToGetParamDataList = function (paramId) {
      
        timeCheck($scope.starttime,$scope.endtime);

        var starttimeFmt = timeFmt($scope.starttime);
        var endtimeFmt = timeFmt($scope.endtime);

        var machineId = $scope.selectedMachine.machine_id;
        collectorService.GetHistoryDataListByParamId(machineId, paramId, starttimeFmt, endtimeFmt).then(function (data) {
            var flag = data.data.success;
            if (flag) {
                $scope.gridOptions.data = data.data.list;
            }
        });
    }
   
}]);

由于我们使用了分页,所以我们必须得引入其分页模块,在app.js入口处,我们可以进行注入操作,同时如果想选择列表项,我们同时可以引入其选择项模块:

var app = angular.module('dsBootstrap', [
                                        'ui.grid',
                                        'ui.grid.selection',
                                        'ui.grid.pagination',
                                        'ngCookies',
                                        'ui.bootstrap.datetimepicker'
                                        ]);

最后我们看看效果:

QQ截图20160221205017

posted on 2016-02-21 20:51  程序诗人  阅读(1156)  评论(0编辑  收藏  举报