2016-07-06 4 views
0

Это мой первый набег на использование javascript-кода с угловым и тяжелым клиентом. В основном, я сделал все это на страницах ASP.NET на стороне .NET.Правильный подход к отображению даты нет

Использование .NET MVC с угловыми и ui-сетками на стороне клиента. Мой контроллер MVC возвращает набор данных с столбцом даты (contract_start). Иногда start_date содержит не инициализированное значение по умолчанию; это отображается на Ui-сетке с годом 1900.

У меня в UI-сетке columnDefs отформатировать дату как ...

{ name: 'contract_start', width: 140, cellTooltip: true, cellFilter: 'date:"mm/yyyy"' }, 

Для неинициализированных значений даты это отображается как «00/1900" .

Я бы хотел, чтобы они отображались как пустое место в сетке. Каким будет правильный подход?

Имейте в виду, что позже я также должен добавить возможность редактировать эту ячейку сетки.

Одна из стратегий Я попытался это использовать функцию фильтра ...

{ name: 'contract_end', width: 140, cellTooltip: true, cellFilter: 'noDateFilter' }, 

И затем добавить функцию к контроллеру ...

.filter('noDateFilter', function() { 
    //check if value is valid date 
    //and return string formatted as 'mm/yyyy' 
    //else return empty string '' 
    }; 
}) 

Является ли это чистый подход или должна ли существовать более «встроенная» стратегия?

Кроме того, я даже придумал, как сделать редактирование в ячейке ... будет ли этот фильтр влиять на способность редактировать ячейку?

Спасибо.

+0

Riccarr

ответ

1

Да, лучше использовать фильтр ячеек сетки UI, а не обычай. Для проверки даты вы можете обрабатывать данные, прежде чем вставлять их в ui-сетку.

{ field: 'contract_end', displayName: 'contract_end',type: 'date', cellFilter: 'date:\'MM/yyyy\'' }]

+0

За мой первоначальный вопрос, то ... как использовать cellFilter для отображения пустой даты, когда дата 1900 год? – Riccarr