0

我一直在尝试通过使用自定义单元格模板来添加Jquery DatepickerUI Angularjs -grid。

当我date从 中选择一个时,一旦完成加载Jquery date pickerUI-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 pcikercell-grid

使用的版本是 angular v1.2.3, ui-grid v3.0.6.

4

0 回答 0