不显示日期的正确方法
Correct approach to displaying no date
这是我第一次尝试使用 angularjs 和重型客户端 javascript 编码。大多数情况下,我都是在 .NET 服务器端 C# ASPX 页面上完成的。
使用 .NET MVC,在客户端使用 angularjs 和 ui-grid。我的 MVC 控制器 returns 具有日期列的数据集 (contract_start)。有时 start_date 包含默认的未初始化值;这显示在 ui-grid 上,年份为 1900。
我在 ui-grid 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 ''
};
})
这是一种干净的方法还是应该有更多 "built-in" 策略?
此外,我什至还想出了如何在单元格中进行编辑...这个过滤器会影响编辑单元格的能力吗?
谢谢。
是的,最好使用 UI-grid 单元格过滤器而不是自定义。对于日期验证,您可以在将数据推送到 ui-grid 之前处理数据。
{ field: 'contract_end', displayName: 'contract_end',type: 'date', cellFilter: 'date:\'MM/yyyy\'' }]
这是我第一次尝试使用 angularjs 和重型客户端 javascript 编码。大多数情况下,我都是在 .NET 服务器端 C# ASPX 页面上完成的。
使用 .NET MVC,在客户端使用 angularjs 和 ui-grid。我的 MVC 控制器 returns 具有日期列的数据集 (contract_start)。有时 start_date 包含默认的未初始化值;这显示在 ui-grid 上,年份为 1900。
我在 ui-grid 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 ''
};
})
这是一种干净的方法还是应该有更多 "built-in" 策略?
此外,我什至还想出了如何在单元格中进行编辑...这个过滤器会影响编辑单元格的能力吗?
谢谢。
是的,最好使用 UI-grid 单元格过滤器而不是自定义。对于日期验证,您可以在将数据推送到 ui-grid 之前处理数据。
{ field: 'contract_end', displayName: 'contract_end',type: 'date', cellFilter: 'date:\'MM/yyyy\'' }]