如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?

Posted

技术标签:

【中文标题】如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?【英文标题】:How to make function return reports based on report categoryID Paramter on service.ts? 【发布时间】:2020-09-18 05:27:44 【问题描述】:

我在 Angular 7 应用程序上工作,我需要根据报告类别 ID 从 allReportsubCategory 返回数据

但我面临如何根据 reportcategoryID 从 allReportsubCategory 返回数据的问题。

so 如何编写基于 ReportCategoryID 的函数返回报表?

allReportsubCategory:any[];
this.allReportsubCategory =[
    
        "reportID": 1,
        "reportName": "xxx",
        "reportIndex": 1,
        "reportCategoryID": 3,

    ,
    
        "reportID": 17,
        "reportName": "Jobs Monitor",
        "reportIndex": 1,
        "reportCategoryID": 3
    ,
    
        "reportID": 2025,
        "reportName": "Old Tables Report",
        "reportIndex": 1,
        "reportCategoryID": 3

    ];

在 service.ts 上

 GetreportByCategoryId(reportCategoryID:string)
    return this.allReportsubCategory.??????

  

所以我需要将 3 传递给函数 GetreportByCategoryId(reportcategoryID) 返回上面的所有数据 reportcategoryid= 3

更新帖子

在组件上调用时如下

reportByCategoryId:any[]
 this.reportByCategoryId = this._displayreport.GetreportByCategoryId("3");
  console.log("data by category id" + this.reportByCategoryId )

以上数据不返回,控制台日志如下:

idundefined 类别的数据

【问题讨论】:

【参考方案1】:

要通过某些条件过滤数组中的值,您可以使用filter method。此外,由于提供的数据中的reportCategoryID 具有数字类型,因此您需要在此方法中使用number 类型。

GetreportByCategoryId(id: number) 
  return this.allReportsubCategory
    .filter(category => category.reportCategoryID === id);

【讨论】:

请在您的答案中添加一些解释。不要直接发布答案!让操作人员知道为什么这是解决方案 好的,这很好,当我在组件上调用它时,我是否使用订阅 除非方法返回observable,否则不需要订阅 当在回答帖子 1 上调用方法时,它给了我未定义 那么有什么问题

以上是关于如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?的主要内容,如果未能解决你的问题,请参考以下文章

在角度service.ts中使用谷歌的api.js

SQL Server 报表生成器:根据子报表中的值隐藏 Tablix 行

如何将查询结果集从主报表传递到子报表

如何在水晶报表中的最后一条记录后添加空白记录?

如何将范围设置为模块?

typescript 秋田books.service.ts