【问题标题】:Using ng-repeat to create ng-tables which display info from a List使用 ng-repeat 创建显示列表信息的 ng-tables
【发布时间】:2016-01-22 05:44:38
【问题描述】:

我有一个 Person 对象,它有一个报告列表。

public class Person
{
    public string IdNum { get; set; }
    public string LastName { get; set; }
    public Int32 LocFlag { get; set; }
    public IList<Report> Reports { get; set; }
}

public class Report
{
    public long ReportNum { get; set; }
    public DateTime? ReceivedDate { get; set; }
    public string Subject { get; set; }
}

我有一个来自我的控制器的这些人的列表 - vm.Persons 和 vm.PersonParams。

我的目的是为每个人生成一个单独的 ng-table,每个表都应该显示他们报告中的信息。

我现在使用的方法会生成一个空表:

                        <div class="table-responsive">
                            <table ng-table="vm.PersonParams" class="table table-hover">
                                <tr ng-repeat="row in $data">
                                    <td data-title="'Report Number'"  >{{row.Reports.ReportNum  }} </td>
                                    <td data-title="'Date'"  >{{row.Reports.ReceivedDate }} </td>
                                    <td data-title="'Subject'" >{{row.Reports.Subject }} </td>
                                </tr>
                            </table>
                        </div>

Person 和 PersonParams 的值:

vm.Persons = [{"IdNum ":"23713","LastName ":"Smith","LocFlag":0,"Reports":[{"ReportNum":321231,"ReceivedDate":"2010-09-16T15:25:00","Subject":"Tax",}]},{"IdNum":"32552","LastName":"Xavier","LocFlag":1,"Reports":[{"ReportNum":324342,"ReceivedDate":"2013-09-11T07:50:00","Subject":"Filing Request"}]}];

vm.PersonParams =  {"data":[]};

【问题讨论】:

  • 你能发布vm.Personsvm.PersonParams 的值吗?我的意思是这些对象是如何格式化的?
  • Documentation 表示您必须使用NgTableParams() 构造函数创建的数据填充ng-table。对了,你的vm.PersonParams是空的?

标签: html angularjs angularjs-ng-repeat ng-repeat ngtable


【解决方案1】:

如果这是您使用的全部代码,那么您错过了外部 div 中的 ng-repeat。这里的 $data 是什么?估计你那边也搞错了。

您可能需要如下所示使用它

<div class="table-responsive" ng-repeat = "person in vm.Persons">
                            <table  class="table table-hover">
                                <tr ng-repeat="report in person.Reports">
                                    <td data-title="'Report Number'"  >{{report.ReportNum  }} </td>
                                    <td data-title="'Date'"  >{{report.ReceivedDate }} </td>
                                    <td data-title="'Subject'" >{{report.Subject }} </td>
                                </tr>
                            </table>
                        </div>

如果这有帮助,请告诉我!

【讨论】:

  • 他正在使用ngTable$data 来自那里。但是,您的答案是一种可行的解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2014-09-14
  • 2018-08-01
  • 2014-09-04
  • 2016-08-31
  • 2015-10-20
相关资源
最近更新 更多