首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按一下按钮,以角网格显示数据。

按一下按钮,以角网格显示数据。
EN

Stack Overflow用户
提问于 2019-01-18 05:34:53
回答 1查看 1.4K关注 0票数 0

我想在网格中显示数据,点击角网格栅按钮。当用户单击“搜索”按钮时,我参考了wiki页面 &许多在线文章来显示网格数据。

在我的应用程序(所以是共享代码 )中理解和实现这个功能需要花费很多时间。这可能对其他人有益,甚至其他人也能分享更好的答案。

我的代码是

代码语言:javascript
复制
import { Component, OnInit } from '@angular/core';
import { Column, FieldType, Formatter, Formatters, GridOption }  from 'angular-slickgrid';

export class ReportComponent implements OnInit {
  columnDefinitions: Column[];
  gridOptions: GridOption;
  dataset: any[];

  ngOnInit(): void  
  {        
    this.gridOptions = {
      autoResize: {
        containerId: 'demo-container',
        sidePadding: 15
      },
      enableAutoResize: false,
      enableExcelCopyBuffer: true,

    };

    this.columnDefinitions = [
  { id: 'value', name: 'Temperature', field: 'value', sortable: true, type: FieldType.string, width: 70 }   ,
  { id: 'High_value', name: 'High value', field: 'High_value', sortable: true, type: FieldType.string, width: 70 },
  { id: 'Low_value', name: 'Low value', field: 'Low_value', sortable: true, type: FieldType.string, width: 70 },        
    ];    
  }

Search(rangeFrom,rangeTo)
{

this.dataset = [];

this._Dataservice.getHistoricalData(1,rangeFrom.value, rangeTo.value ).then (
           data => { 

             if (data)
             {   
               let i:number =0;
               for (let stat of data) 
              {
                i++;        
                this.dataset[i] = {
                      id: i, 

                      value: stat.value,
                      High_value: stat.High_value,
                      Low_value: stat.Low_value,
                  };

              } 
             }
             else
               this.alertService.error("No data");
           }
    )

}

我的html

代码语言:javascript
复制
 <angular-slickgrid gridId="grid2" style="width:95%;"
                [columnDefinitions]="columnDefinitions"
                [gridOptions]="gridOptions"
                [dataset]="dataset">
            </angular-slickgrid>

我使用的版本:angular-slickgrid:jQuery:^3.3.1 @angular/core:^2.1.5 @angular/core:^7.2.0

EN

回答 1

Stack Overflow用户

发布于 2019-01-18 05:34:53

以下是我所做的改变。我添加了angularGridReady()方法来获取网格的引用&数据赋值后称为angularGrid.dataView.refresh()方法。

代码语言:javascript
复制
export class ScadaReportComponent implements OnInit {
  angularGrid: AngularGridInstance;

  angularGridReady(angularGrid: AngularGridInstance) {
    this.angularGrid = angularGrid;
    console.log('Ready');
  }


  this._Dataservice.getHistoricalData(1,rangeFrom_date, rangeTo_date ).then (
               data => { 
                 if (data)
                 {   
                   for (let stat of data) 
                  { 
                    this.dataset[i] = {
                        id: i,           
                        value: stat.value,
                        High_value: stat.High_value,
                        Low_value: stat.Low_value,                                 
                       };

                  } 

                    this.angularGrid.dataView.refresh();
              }

Html代码更改如下&我的代码开始工作。

代码语言:javascript
复制
<angular-slickgrid gridId="grid2" style="width:95%;"
            [columnDefinitions]="columnDefinitions"
            [gridOptions]="gridOptions"   (onAngularGridCreated)="angularGridReady($event)"
            [dataset]="dataset">
        </angular-slickgrid>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54248227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档