Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >角材料数据表如何放置动态表(数组中的数组)?

角材料数据表如何放置动态表(数组中的数组)?
EN

Stack Overflow用户
提问于 2019-04-15 07:54:11
回答 1查看 3.8K关注 0票数 0

我有一大堆数据。我想输入datatable,但是数组有数组数据。我不知道该怎么做,我用*ngFor想,但我不知道该把它放在哪里。

我想展示一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
codigo | nombre (departamento) | estacion (nombre) | mes | año | Tmaxima 

在每个部门中,每个部门都有大量的estacion,每个部门都有大量的数据,比如"mes,ano和Tmaxima“。

https://stackblitz.com/edit/angular-6wdz2u?file=src%2Fapp%2Fapp.component.ts中的代码

我给你看密码。这是一个例子,因为我得到的数据是BD。

TableComponent :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export class AppComponent {
datos= [{
codigo: 1,
departamento: "Tolima",
estaciones: [
  {
    nombre: "Estacion 1",
    latitud: "la1",
    longitud: 232,
    datos: [{ mes: 1, ano: 1983, Tmaxima: 32 }, { mes: 2, ano: 1983, 
Tmaxima: 32 }]
  },
  {
    nombre: "Estacion 2",
    latitud: "la2",
    longitud: 232,
    datos: [{ mes: 1, ano: 1990, Tmaxima: 32 }, { mes: 2, ano: 1990, 
 Tmaxima: 32 }]
  }
]
}, {
  codigo: 2,
  departamento: "Other",
  estaciones: [
    {
      nombre: "Estacion 1 other",
      latitud: "la1",
      longitud: 232,
      datos: [{ mes: 1, ano: 1983, Tmaxima: 32 }, { mes: 2, ano: 1983, 
 Tmaxima: 32 }]
    },
    {
      nombre: "Estacion 2 other",
      latitud: "la2",
      longitud: 232,
      datos: [{ mes: 1, ano: 1990, Tmaxima: 32 }, { mes: 2, ano: 1990, 
  Tmaxima: 32 }]
    }
   ]
 }
 ] 
displayedColumns: string[] = ["codigo", 
"nombre","estacion","mes","ano","Tmaxima"]
listaData: MatTableDataSource<any>

constructor() {
this.listaData = new MatTableDataSource(this.datos);
}

}

HTML :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="mat-elevation-z8">
<mat-table [dataSource]="listaData"  >    

<ng-container matColumnDef="nombre">
  <mat-header-cell *matHeaderCellDef >Nombre</mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.departamento}} </mat- 
cell>
</ng-container>

 <ng-container matColumnDef="codigo">
  <mat-header-cell *matHeaderCellDef >Codigo</mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.codigo}} </mat-cell>
 </ng-container>

 <ng-container matColumnDef="estacion">
  <mat-header-cell *matHeaderCellDef >Estacion</mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.estaciones[0].nombre}} 
 </mat-cell>      
 </ng-container>

  <ng-container matColumnDef="mes">
  <mat-header-cell *matHeaderCellDef >Mes</mat-header-cell>
  <mat-cell *matCellDef="let element">   </mat-cell>
 </ng-container>

 <ng-container matColumnDef="ano">
  <mat-header-cell *matHeaderCellDef >Año</mat-header-cell>
  <mat-cell *matCellDef="let element">   </mat-cell>
  </ng-container>

 <ng-container matColumnDef="Tmaxima">
  <mat-header-cell *matHeaderCellDef >Tmaxima</mat-header-cell>
  <mat-cell *matCellDef="let element">  </mat-cell>
 </ng-container> 

 <mat-header-row *matHeaderRowDef="displayedColumns" ></mat-header-row>
 <mat-row *matRowDef="let row; columns: displayedColumns" ></mat-row> 
 </mat-table> 
 </div>

我找到的唯一解决方案是:将数据转换为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    data2=[ {codigo:"",  
     departamento:"",   
     estacion:"",   
     nombre:"",
     latitud:"",
     longitud:"",
     ano:"",
     mes:"",
     Tmaxima:"" } ]

这样我就能在html中得到数据..。但这样不太好..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 08:15:30

嵌套ngFor循环是可能的-下面是一个示例,它在一个简单的HTML中显示了一些数据,因此可以清楚地知道发生了什么:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<table>
    <tr *ngFor="let dato of datos">
        <td>{{dato.departamento}}</td>
        <td>
            <table>
                <tr *ngFor="let estacione of dato.estaciones">
                    <td>{{estacione.nombre}}</td>
                </tr>
            </table>
        </td>
    </tr>
</table>

我已将此示例添加到斯塔克布利茨中。希望这将是足够的信息,指出你在正确的方向-原则将完全相同的垫桌。

您可以使用以下代码向“材料表”中的单元格中添加嵌套表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ng-container matColumnDef="InnerTable">
    <mat-header-cell *matHeaderCellDef >Estaciones</mat-header-cell>
    <mat-cell *matCellDef="let element">
        <table>
            <tr *ngFor="let estacione of element.estaciones">
                <td>{{estacione.nombre}}</td>
            </tr>
        </table>
    </mat-cell>
</ng-container>

然后在列定义中添加“InnerTable”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
displayedColumns: string[] = ["codigo", "nombre","estacion","mes","ano","Tmaxima","InnerTable"]

Stackblitz 这里.你可以用第二个材料桌,但我认为这会非常繁忙的视觉。除非您真的需要它,否则我只会使用一个标准的HTMl表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55692998

复制
相关文章
Python中如何动态生成多维数组
多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。 所以动态生成多维数组的思想就是在list中动态嵌套添加list。
卡尔曼和玻尔兹曼谁曼
2019/01/22
3K0
Python中如何动态生成多维数组
线性表之动态数组
动态数组的初始化 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //动态数组的初始化 struct dynamicArray { void** pAddr; //维护真实在堆区开辟的数组的指针 int capicity; //数组的容量 int size; //数组大小 }; //初始化数组 dynamicArray* init_Array(int capicity) { if (capicity <=
大忽悠爱学习
2021/03/04
3910
如何实现动态数组
1.使用指针~~ 2.自己申请内存 例如:如第一块的代码,若想实现一个动态数组,必须写成二的部分,用完之后必须给free(); 必须加上头文件#include<malloc.h> 常用格式:
杨鹏伟
2020/09/11
8840
android动态添加数组中,Android动态数组「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说android动态添加数组中,Android动态数组「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/08/03
2K0
VBA数组(六)动态数组
大家好,前面已经介绍过了如何声明数组、数组赋值、静态数组和数组函数等等知识点,本节主要讲解动态数组。
无言之月
2019/10/13
7.3K0
动态数组(指针与数组)
一开始未知数组长度,根据要求创建不同类型的指针,并且使用指针创建相应长度的数组,然后再完成不同的要求
叶茂林
2023/07/28
1390
动态数组
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155195.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/06
9680
动态数组
PHP:如何合并多维数组中的子数组
如何把多维数组中的每个子数组合并成一个新数组 $result,有两个方法: $merged = call_user_func_array('array_merge', $result); 如果是 PHP 版本在 5.6 以上,可以使用 ... 操作符: $merged = array_merge(...$result); ----
Denis
2023/04/15
5.5K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
在 汪洋怡舟的这篇文章中【http://www.cnblogs.com/longren629/archive/2007/03/14/674633.html】只使用了一个数据表,效果如图2
跟着阿笨一起玩NET
2018/09/19
6.6K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
C++中动态申请数组
动态申请一维数组 申请使用new,释放使用delete[] 可以通过数组名[下标]和*(数组名+下标)的方式访问数组
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.9K0
solidity定长数组和动态数组
其中第二种情况未声明数组内容时,可通过直接通过push向数组中添加值,或初始化一个数组然后再赋值。
程序新视界
2019/08/14
2.8K0
封装数组之动态数组实现
前言:在此之前,我们封装的数组属于静态数组,也即数组空间固定长度,对于固定长度的数组当元素超过容量时会报数组空间不足。为了能更好的使用数组,我们来实现一个可以自动扩充容量的数组。
wfaceboss
2019/04/08
6650
封装数组之动态数组实现
Material Safety Data Sheet材料安全数据表
MSDS是 Material Safety Data Sheet 英文单词首字母的缩写,直译为材料安全数据表,通常被理解为材料安全说明书。主要是通过这份文件向货运公司,使用者等接触产品的相关方说明产品有哪些危险或危害,接触过程中需要注意什么,要做好哪些防护等,随着经济发展货物流通不断加大和人们安全意识的不断提高,MSDS这样的说明资料已经被普遍要求,由于MSDS早出现在欧美等发达国家,现在对MSDS的需要还都主要集中在相关出口产品上。
科达认证小胡
2023/03/02
6420
Material Safety Data Sheet材料安全数据表
VBA中动态数组的定义及创建
大家好,今日我们继续讲解VBA数组与字典解决方案的第19讲:动态数组的定义及创建。在VBA中,数组可分为固定数组和动态数组,也称为静态数组和动态数组。我们之前所定义的数组,都是静态数组。静态数组的特点是具有大小的数组。当我们事先知道数组的大小,我们可以直接声明为静态数组。固定数组定义方法:DIM 数组名(<下届>TO<上届>)。
用户8870853
2021/07/27
3.4K0
asp动态数组
本文所说的 ASP 数组是指在 ASP 中以默认语言 VBScript 为语言的数组。
全栈程序员站长
2022/07/09
6.1K0
动态创建数组[通俗易懂]
使用运算符new也可以创建数组类型的对象,这时需要给出数组的结构说明。用new运算符动态创建一维数组的语法形式为: new 类型名【数组长度】; 其中数组长度指出了数组元素的个数,它可以是任何能够得到正整数值的表达式。 细节: 用new动态创建一维数组时,在方括号后仍然可以加小括号“()”,但小括号内不能带任何参数。是否加“()”的区别在于,不加“()”,则对数组每个元素的初始化,与执行“new T”时所进行初始化的方式相同;加“()”,则与执行“new T()”所进行初始化的方式相同。例如,如果这样动态生成一个整型数组: int *p=new int[10] (); 则可以方便地为动态创建的数组用0值初始化。 如果是用new建立的数组,用delete删除时所在指针名前面要加上“【】”,格式如下: delete[] 指针名;
全栈程序员站长
2022/08/15
3K0
C动态数组
例如:一开始有5个学生,后来增加到8个,再后来增加到15个。最后,减少到3个学生。
WuShF
2023/03/12
8600
C动态数组
浅析变长数组(VLA)和动态数组
前天实训听见几位推免的大佬聊面试中出现了动态数组,而我们所学并没有涉及到动态数组,遂翻起了尘封已久的《C语言程序设计现代方法》以及《C Primer Plus》,果然大神们写书都很全面(厚),后悔当初没有认真拜读。
休辞醉倒
2019/07/23
2K0
js中对象转数组_js如何转数组
今天睡前看到小组群里贴了这么一张图,印象中曾经面试的时候好像也是遇到过,对于大佬们来说这肯定是很基础的一道题,在此分享给正在学习前端和正在面试的小伙伴们。
全栈程序员站长
2022/09/30
23.3K0
js中对象转数组_js如何转数组
C++中关于[]静态数组和new分配的动态数组的区别分析
这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下
全栈程序员站长
2022/07/18
8970

相似问题

具有动态行的角材料数据表

11

像Jquery数据表那样的角材料表折叠动态

13

反应角材料数据表

22

rest中的角材料数据表

10

角5材料数据表

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文