0

我有 Json 对象:

[
   {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,其中有一列代表每个人的出生日期和时间。由于数据格式不正确。所以,我们需要一个过滤器。

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

请帮忙。普兰克

4

1 回答 1

1

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

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

$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属性:

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

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

于 2013-11-08T10:17:48.737 回答