Ag grid 在AG网格中定义编辑日期格式
我有一个SQL Server表,其中包含一个Ag grid 在AG网格中定义编辑日期格式,ag-grid,date-formatting,Ag Grid,Date Formatting,我有一个SQL Server表,其中包含一个DATETIME列SaleDate——不幸的是,目前我无法将数据类型更改为仅DATE(这就足够了) 我正在尝试使用Ag网格在Angular应用程序中显示来自该列的数据 对于显示,我可以在我的Typescript代码中使用: columnDefs = [ .... { headerName: 'Sale', field: 'SaleDate', width: 120, editable: true, cellRenderer:
DATETIME
列SaleDate
——不幸的是,目前我无法将数据类型更改为仅DATE
(这就足够了)
我正在尝试使用Ag网格在Angular应用程序中显示来自该列的数据
对于显示,我可以在我的Typescript代码中使用:
columnDefs = [
....
{ headerName: 'Sale', field: 'SaleDate', width: 120, editable: true,
cellRenderer: (data) => {
return data.value ? (new Date(data.value)).toLocaleDateString('de-CH', this.options) : '';
},
....
]
它工作得很好
但是,当我尝试编辑此单元格时,不幸的是,整个DATETIME
详细信息(包括时间部分)正在显示:
[ 2018-09-27T08:43:59 ]
这会让用户很困惑。。。。那么,是否有一种方法可以设置/定义AG网格单元格中的编辑格式?如果您需要为
显示和编辑内容提供解决方法(准备视觉和真实数据),您应该为此单元格创建一个自己的和
或者,您只需为日历组件和显示日期创建一个cellEditor
仅针对相同需求的案例valueFormatter
:
let result: string;
if (params.value) {
var formats = [
moment.ISO_8601
];
let date = moment(params.value, formats, true);
if (date.isValid()) {
let dateObject: Date = date.toDate();
result = ('0' + dateObject.getDate()).slice(-2) + '.'
+ ('0' + (dateObject.getMonth() + 1)).slice(-2) + '.'
+ dateObject.getFullYear();
if (element.DataType == "datetime")
result += ' ' + ('0' + dateObject.getHours()).slice(-2) + ':'
+ ('0' + dateObject.getMinutes()).slice(-2) + ':'
+ ('0' + dateObject.getSeconds()).slice(-2);
}
}
return result;
在自定义cellEditor
上,主要功能是getValue
函数,它将在内部使用(用于绑定)
在模板上,您可以使用任何日历模板库。如果您需要为显示
和编辑
内容提供解决方案(准备视觉和真实数据),您应该为此单元格创建自己的And
或者,您只需为日历组件和显示日期创建一个cellEditor
仅针对相同需求的案例valueFormatter
:
let result: string;
if (params.value) {
var formats = [
moment.ISO_8601
];
let date = moment(params.value, formats, true);
if (date.isValid()) {
let dateObject: Date = date.toDate();
result = ('0' + dateObject.getDate()).slice(-2) + '.'
+ ('0' + (dateObject.getMonth() + 1)).slice(-2) + '.'
+ dateObject.getFullYear();
if (element.DataType == "datetime")
result += ' ' + ('0' + dateObject.getHours()).slice(-2) + ':'
+ ('0' + dateObject.getMinutes()).slice(-2) + ':'
+ ('0' + dateObject.getSeconds()).slice(-2);
}
}
return result;
在自定义cellEditor
上,主要功能是getValue
函数,它将在内部使用(用于绑定)
在模板上,您可以使用任何日历模板库