需求描述:
在编辑DataGrid收购入账日期单元格的时候,如果没有值则需要默认给定当前日期
解决方案:
通过查找miniui官方api文档,发现DataGrid中有cellbeginedit事件, 即编辑前事件。考虑的解决方法是在触发这个事件时给定单元格需要的默认值。事件描述如下:
第一次的代码如下:
grid.on("cellbeginedit", function (e) {
if (e.row.BuyRuZhangDate.toLocaleDateString() == new Date(1900, 0, 1).toLocaleDateString()) {
e.value = new Date();
}
});
因为数据库中BuyRuZhangDate 默认值为 ‘1900-01-01’ 所以判断是否为默认值。但此处存在一个问题,无论编辑的是哪一个单元格都会将该单元格的值赋值为当前日期。解决方案是判断编辑的单元格是否为BuyRuZhangDate列,代码如下:
grid.on("cellbeginedit", function (e) {
if (e.field == "BuyRuZhangDate" &&
e.row.BuyRuZhangDate.toLocaleDateString() == new Date(1900, 0, 1).toLocaleDateString()) {
e.value = new Date();
}
});
实现的效果如图: