Kendo UI Angular 2网格日期编辑器TypeError:date.getTime不是函数

时间:2017-12-20 20:05:18

标签: angular kendo-ui-angular2

我有一个网格,我将列编辑器设置为[editor] =“'date'”,当我尝试编辑单元格时,它现在抛出一个错误。我收到以下错误。 json日期看起来像ISO格式日期,我认为可能是问题,但我不知道如何解决它。

CREATE TABLE MyTable  
(  
ID INT IDENTITY(1,1) PRIMARY KEY,
 pGuid uniqueidentifier NOT NULL DEFAULT newid(),  
 Company varchar(30) NOT NULL,
..........
)

2 个答案:

答案 0 :(得分:1)

您可能必须将Date字符串更改为有效的Date对象。

如果从api调用得到if,则可以使用Observables自动转换该日期字符串。 Angular 2 Date deserialization

通常,您只需说 new Date('2016-12-14T00:00:00')即可获得有效的Date对象。 请注意,您的日期缺少时区信息。有效的iso字符串如下所示:2016-12-14T00:00:00.000Z

答案 1 :(得分:0)

对于也遇到此错误的人

如果你有像kendo reactive form example这样的网格,你可以这样做:

<强> TS:

   //form initialization
    const createFormGroup = dataItem => new FormGroup({
  'publicationId': new FormControl(dataItem.publicationId), 
  'publicationDate': new FormControl(new Date(dataItem.publicationDate), Validators.required),
  'authors': new FormControl(dataItem.authors)
});

//new form creating
public createForm() {
this.formGroup = this.fb.group({
  'publicationDate': new Date(),
  'authors': new FormControl()
});
}

<强> HTML:

 <kendo-grid-column field="publicationDate" title="Publication Date" format="{0: dd MMM yyyy}" editor="date" width="160">
<ng-template kendoGridCellTemplate let-dataItem>
  {{log(dataItem)}}

  {{dataItem.publicationDate | date:ShortDate}}
</ng-template>

希望它会帮助某人:)