我想在我的单元格中使用日期选择器,因此我创建了一个单元格模板
var myDateTemplate= '<input type="text" ng-model="row.entity.myDate" />';
我的col模型是
var col = [{ field : 'myDate',displayName : 'My Date',enableCellEdit : true,width : '130',cellTemplate : myDateTemplate,editableCellTemplate : myDateTemplate,resizable : true,sortable : false }]
它工作正常,当我选择日期我得到它的mm / dd / yyyy格式我想将其更改为dd / mm / yyyy格式我添加了ui日期格式
var myDateTemplate = '<input ui-date="{ dateFormat: 'dd mm yyyy' }" ui-date-format="dd mm yyyy" ng-model="row.entity.myDate"/>';
当我使用ui日期格式时,它会抛出一个错误
错误:语法错误:令牌’undefined’不是表达式[{dateFormat:]的列NaN处的主表达式,从[{dateFormat:]开始
而它给出的日期就像
2013年12月23日星期一00:00:00 GMT 0530(印度标准时间)而不是我的优先格式.
解决方法
我认为你很接近,只是绕过日期格式的引号来制作正确的字符串:
var myDateTemplate = '<input ui-date="{ dateFormat: \'dd mm yyyy\' }" ui-date-format="dd mm yyyy" ng-model="row.entity.myDate"/>';
我没有使用完全相同的cellTemplate(大概你的输入字段一旦你逃脱引号就能正常工作).这对我有用:
columnDefs: [{ field:'StartTime',displayName:'Start Time',cellFilter: 'date:\'MM/dd/yyyy HH:MM:ss\'' },{ field:'duration',displayName:'Duration' },{ field:'distance',displayName:'Distance' },{ field:'typedesc',displayName:'Type' },{ field:'Drivers',displayName:'Drivers' }]