ag-grid 在 angular 1.5 中使用

1、首先引入模块:

 

2、然后引入样式:

 

3、接着配置相关数据:

  //行内数据
    var rowData = [
        {name: "Toyota", model: "Celica", price: 35000,operation: 'a', folder: true, children: [{name:'3x', model:'sss', price:37000}]},
        {name: "Ford", model: "Mondeo", price: 32000,folder: true, open: true, children: [{name:'test', model:'test', price:100}]},
        {name: "Porsche", model: "Boxter", price: 72000}
    ];
    //列属性设置
    var columnDefs = [
        {
            headerName: 'Name',
            field: 'name',
            width: 400,
            enableRowGroup: true,
            checkboxSelection: function (params) {
                // we put checkbox on the name if we are not doing grouping
                return params.columnApi.getRowGroupColumns().length === 0;
            },
            headerCheckboxSelection: function (params) {
                // we put checkbox on the name if we are not doing grouping
                return params.columnApi.getRowGroupColumns().length === 0;
            },
            headerCheckboxSelectionFilteredOnly: true,
            cellRenderer: 'group',
            cellRendererParams: {
                innerRenderer: function (params) { return params.data.name; },
                suppressCount: true
            }
        },
        {headerName: "Model", field: "model"},
        {headerName: "Price", field: "price"},
        {headerName: "Operation", field: "operation", cellRenderer: function(params) { return '<button ng-click="btnClick(1);">click1</button> <button onclick="btnClick(2);">click2</button>'}}
    ];
    //表格设置
    $scope.gridOptions = {
        columnDefs: columnDefs,
        rowData: rowData,
        animateRows: true,
        enableColResize: true,
        rowHeight: 30,
        rowSelection: 'multiple',
        enableSorting: true,
        suppressDragLeaveHidesColumns: true,
        //行内点击触发事件
        onRowClicked: function(event) {
            //event.data 选中的行内数据,event.event 为鼠标事件,等其他。可以log自己看一下
            console.log('a row was clicked', event);
        },
        //列宽度改变触发
        onColumnResized: function(event) { console.log('a column was resized'); },
        //表格加载完成触发
        onGridReady: function(event) { console.log('the grid is now ready'); },
        //单元格点击触发
        onCellClicked: function(event) { console.log('a cell was cilcked'); },
        //单元格双击触发
        onCellDoubleClicked: function(event) { console.log('a cell was dbcilcked'); },

        //子节点显示
        getNodeChildDetails: function(file) {
            if (file.folder) {
                return {
                    group: true,
                    children: file.children,
                    expanded: file.open
                };
            } else {
                return null;
            }
        }
    };

 

4、最后在页面中调用配置:(这里我用的是pug文件,同理html)

 

最后效果:

 

posted @ 2018-01-25 17:48  名字不好起啊  阅读(1699)  评论(0编辑  收藏  举报