2015-12-29 1 views
2

Я использую сетку пользовательского интерфейса Angular для отображения ряда столбцов, но я не могу корректно форматировать столбец даты.Угловой пользовательский интерфейс Дата сетки не корректно форматируется

Он появляется в /Date(1451346632162-0000)/ и т.д.

Я пытаюсь фильтровать в моих gridOptions, но не имею никакой удачи:

// Removed Unrelated Column Defs 

$scope.gridOptions.columnDefs = [ 
    { name: 'Date', field:'DateAdded', 
     /* First filter attempt */ cellTemplate: "<div>{{COL_FIELD | date:'dd-MM-yyyy' }}</div>", 
     /* Second Filter Attempt */ cellFilter:"date:'dd-MM-yyyy'" 
    } 

Я пробовал вариации этих, которые я нашел в документация без везения - cellFilter: "date" и cellFilter: "longDate"

Любая идея, почему эти попытки фильтра не работают, и дата все еще отображается в этом формате?

ответ

0

Я не был в состоянии выяснить, что мешает регулярной фильтрации от работы на поле даты JSON, но вот обходной путь я использую в то же время (в случае, если кто имеет аналогичные проблемы):

function formatDates(data) { 
     for (var i = 0; i < data.length; i++) { 
      var currentValue = data[i].DateAdded 
      var dateString = currentValue.substr(6); 
      var currentTime = new Date(parseInt(dateString)); 
      var month = currentTime.getMonth() + 1; 
      var day = currentTime.getDate(); 
      var year = currentTime.getFullYear(); 
      var date = month + "/" + day + "/" + year; 
      data[i].DateAdded = date; 
     } 
} 

Если кто-нибудь знает, что останавливает регулярную фильтрацию от работы, пожалуйста, напишите. Благодарю.

0

Убедитесь, что вы фактически используете объект Date. Если вы получаете данные из базы данных, это может быть не дата. Когда вы запрашиваете базу данных на стороне клиента, вам может потребоваться сделать следующее: data.map (function (datum) {datum.DateAdded = новая дата (datum.DateAdded)}).

Это гарантирует, что все даты являются подходящими объектами даты.

 Смежные вопросы

  • Нет связанных вопросов^_^