首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJs Ng-Grid :使用过滤器的多属性绑定

AngularJs Ng-Grid :使用过滤器的多属性绑定
EN

Stack Overflow用户
提问于 2013-11-08 15:51:17
回答 1查看 870关注 0票数 0

我有Json对象:

代码语言:javascript
复制
[
   {name: "Moroni", age: 50, dob: 30051998, tob: 1005},
   {name: "Tiancum", age: 43, dob: 30051987, tob: 2205},
   {name: "Jacob", age: 27, dob: 30051956, tob: 0605},
   {name: "Nephi", age: 29, dob: 30051978, tob: 1605},
   {name: "Enos", age: 34, dob: 30051965, tob: 1305}
]

现在我想创建一个ng-grid,其中有一列表示每个人的出生日期和时间。因为数据格式不正确。所以,我们需要一个过滤器。

代码语言:javascript
复制
var gridOptions1 = {
        data: 'myData',
        columnDefs: [
            { field:"name", displayName: "NAME"},
            { field:"age", displayName: "AGE"},
            { field:"dob+tob", displayName: "Date & Time"}
        ],
        selectedItems: $scope.selected
    };

请帮帮忙。Plnkr

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 18:17:49

我会将您的初始JSON服务器数据与您将推送到ng-grid中的数据分开。

因此,在为grid2设置数据源之前,我将创建视图模型:

代码语言:javascript
复制
$scope.grid2Data = [];
for(var i = 0; i < $scope.myData.length; i++) {

  $scope.grid2Data.push({

    name: $scope.myData[i].name,
    age: $scope.myData[i].age,
    fullDate: $scope.myData[i].dob.toString() + $scope.myData[i].tob.toString()
  })
}

然后配置grid2的列,以便您使用cellFilter属性:

代码语言:javascript
复制
var gridOptions2 = {
        data: 'grid2Data',
        columnDefs: [
            { field:"name", displayName: "Name"},
            { field:"age", displayName: "Age"},
            { field:"fullDate", displayName: "Date & Time", cellFilter:"formatDate:'ddMMyyyyHHmm':'HH:mm MM/dd'"}],
        multiSelect: false,
        selectedItems: $scope.selected
    };

这是一个正在运行的plunker showing the technique。

这适用于除一个日期之外的所有日期(位置3的日期)。该日期似乎与您的筛选器的格式不正确。

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

https://stackoverflow.com/questions/19854014

复制
相关文章

相似问题

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