我一直在尝试通过使用自定义单元格模板来添加Jquery Datepicker
UI Angularjs
-grid。
当我date
从 中选择一个时,一旦完成加载Jquery date picker
,UI-Grid
功能就不适用于相应的单元格。JQuery date picker
我尝试强行删除自定义目录中的 DOM 元素,但没有运气。
$scope.editableCellTemplateFrom = '<div ui-grid-editor><form name="inputForm" ><input type="text" readonly data-ng-model="row.entity.validFrom" extdatepicker /></form></div>' ;
customdirectives.directive('extdatepicker', function (uiGridConstants,$timeout) {
return{
restrict: 'A',
link: function(scope, element, attrs, Ctrl) {
element.datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
onSelect: function(d,i){
$timeout(function(){
scope.row.isDirty = true;
scope.row.entity.validFrom = d;
element.parent().parent().removeAttr("aria-selected");
element.parent().parent().find('div').removeClass("ui-grid-cell-contents-hidden ui-grid-cell-focus");
element.parent().remove();
//scope.row.grid.api.rowEdit.setRowsDirty([scope.row.entity]);
if (!scope.row.grid.api.rowEdit.dirtyRows ){
scope.row.grid.api.rowEdit.dirtyRows = [];
}
scope.row.grid.api.rowEdit.dirtyRows.push(scope.row.entity);
//scope.row.grid.api.edit.raise.afterCellEdit(scope.row.entity, scope.col.colDef);
scope.row.grid.api.edit.raise.cancelCellEdit(scope.row.entity, scope.col.colDef);
//scope.row.grid.api.edit.raise.cancelCellEdit(scope.row.entity, scope.col.colDef);
//scope.row.grid.api.core.notifyDataChange(uiGridConstants.dataChange.EDIT);
//scope.row.grid.api.core.notifyDataChange( uiGridConstants.dataChange.COLUMN );
scope.row.grid.api.core.raise.columnVisibilityChanged( scope.col);
scope.$apply();
scope.row.grid.api.core.refresh();
//endEdit
},1000);
}
});
}
}
});
将其值加载ui-grid
到.JQuery date pciker
cell-grid
使用的版本是 angular v1.2.3
, ui-grid v3.0.6
.