5

我想在我的单元格中有一个日期选择器,所以我创建了一个单元格模板

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 日期格式时,它会抛出一个错误

错误:语法错误:从 [{ dateFormat:] 开始的表达式 [{ dateFormat:] 的 NaN 列中的标记“未定义”不是主表达式

它给出的日期就像

2013 年 12 月 23 日星期一 00:00:00 GMT+0530(印度标准时间),而不是我喜欢的格式。

4

1 回答 1

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'
            }]
于 2014-01-04T21:51:47.090 回答