【问题标题】:How to setup Ag-grid on AngularJS 1.6如何在 AngularJS 1.6 上设置 Ag-grid
【发布时间】:2019-07-14 12:30:43
【问题描述】:

我按照教程轻松设置了 AngularJS 的 agGrid,问题是我也使用 typescript 而不是 javascript。 我确实做到了:

npm install ag-grid
var AgGrid = require('ag-grid');
AgGrid.initialiseAgGridWithAngular1(angular);
var module = angular.module("example", ["agGrid"]);

然后在我的 html 中使用它,它就会显示出来:

<div ag-grid="$ctrl.gridOptions" class="ag-theme-balham" style="height: 100%;"></div>

但我没有得到任何 CSS。

所以我尝试添加一些要求:

require("ag-grid/dist/styles/ag-grid.css")
require("ag-grid/dist/styles/ag-theme-balham.css")    
var AgGrid = require('ag-grid');

但仍然没有任何想法?谢谢

【问题讨论】:

    标签: angularjs typescript ag-grid


    【解决方案1】:

    我正在使用基本主题,它适用于我。下面是相同的代码。

        //**Layout Page**
        <link rel="stylesheet" href="~/Content/ag-grid.css">
    
        //If you're using the bundled version, you can reference the ag-Grid-Enterprise library via CDN
        <script src="_url_to_your_chosen_cdn_/ag-grid-enterprise.js"></script>
    
        //Load from Local 
        //<script src="node_modules/ag-grid/dist/ag-grid-enterprise.js"></script>
    
        <script type="text/javascript">
                // Update angular grid license key. If you are using Enterprise Version
                agGrid.LicenseManager.setLicenseKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
                // get ag-Grid to create an Angular module and register the ag-Grid directive
                agGrid.initialiseAgGridWithAngular1(angular);
    
                var app = angular.module("AppName", ["agGrid"]);            
        </script>
    
        //**View**
        <div ag-grid="agGridOptions" class="ag-theme-fresh" style="height: 400px;"></div>
    
        //**ControllerJS**
        $scope.agGridOptions = {
            angularCompileRows: true,
            columnDefs: columnDefs,
            rowData: rowData,
        }
    

    【讨论】:

    • 它不起作用我使用的是免费的 agGrid 版本,正在使用 AngularJS 1.6 和 typescript
    【解决方案2】:

    我终于找到了官方文档的思考部分。

    所以有简单的使用步骤:

    • 安装依赖npm install ag-grid-community
    • 在您的 app.ts 中:
      • 添加您的参考var AgGrid = require('ag-grid-community');
      • 初始化 AgGrid AgGrid.initialiseAgGridWithAngular1(angular);
      • 在主模块中添加

    在你的班级或我的组件中

    • 参考import { Grid, GridOptions} from "ag-grid-community";
    • 还有你的样式(你也可以将它添加到 vendor.ts)
    import "ag-grid-community/dist/styles/ag-grid.css";
    import "ag-grid-community/dist/styles/ag-theme-balham.css";
    

    然后使用你的网格!

    • 添加你的构造函数
    this.gridOptions = {
      columnDefs: this.createColumnDefs(),
      rowData: this.createRowData()
    };
    let eGridDiv:HTMLElement = <HTMLElement>document.querySelector('#myGrid');
    new Grid(eGridDiv, this.gridOptions);
    
    • 定义您的内容
    private createColumnDefs() {
        return [
            {headerName: "Make", field: "make"},
            {headerName: "Model", field: "model"},
            {headerName: "Price", field: "price"}
        ];
    }
    
    private createRowData() {
        return [
            {make: "Toyota", model: "Celica", price: 35000},
            {make: "Ford", model: "Mondeo", price: 32000},
            {make: "Porsche", model: "Boxter", price: 72000}
        ];
    }
    

    【讨论】:

    • "In your app.ts" - TypeScript?那么根据标题,不是真的 AngulasJS?
    • 你可以在 AngularJS 中使用 typescript
    猜你喜欢
    • 2020-10-25
    • 2017-10-09
    • 2020-04-27
    • 2020-09-16
    • 2017-08-06
    • 1970-01-01
    • 2018-09-26
    • 2022-01-06
    • 2018-11-03
    相关资源
    最近更新 更多