nggrid单元格模板中的ui-date-format

时间:2013-07-26 09:47:02

标签: angularjs angular-ui ng-grid

我想在我的单元格中使用日期选择器,因此我创建了一个单元格模板

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(印度标准时间)而非我的优惠格式。

1 个答案:

答案 0 :(得分:12)

我认为你很接近,只是绕过日期格式的引号来制作正确的字符串:

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'
            }]