UI-Bootstrap ng-grid 中的日期选择器无法使用 enableCellEditOnFocus=true
UI-Bootstrap Datepicker in ng-grid not working with enableCellEditOnFocus=true
我知道如何在 ng-grid 单元格的 editableCellTemplate 中使用 UI-Bootstrap-Datepicker。
我的问题:
当我将 enableCellEdit=true 选项替换为 enableCellEditOnFocus=true(单击要编辑的单元格)时,它不再起作用。有谁知道为什么它坏了以及如何解决它?
var editableCellTemplateUsingDatePicker = '<input ng-class="\'colt\' col.index" datepicker-popup="dd.MM.yyyy" datepicker-append-to-body=true is-open="isOpen" ng-model="COL_FIELD" my-input="COL_FIELD"/>';
$scope.gridOptions = {
data: 'myData',
//enableCellEdit: true,
enableCellEditOnFocus: true,
enableCellSelection: true,
enableRowSelection: false,
columnDefs: [{
field: 'name',
displayName: 'Name'
}, {
field:'dateOfBirth',
displayName:'Date of Birth',
editableCellTemplate: editableCellTemplateUsingDatePicker,
cellFilter: 'date:"dd.MM.yyyy"',
}]
};
现在,我找到了另一种方法来使用 ui-bootstrap 日期选择器实现单击编辑所需的行为。
您可以将 ng-click="editCell()" 添加到您的自定义 cellTemplate 以通过单击单元格进入编辑模式。这里的工作设置:
var cellTemplateEditOnClick = '<div class="ngCellText" ng-click="editCell()" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty(col.field) CUSTOM_FILTER}}</span></div>';
$scope.gridOptions = {
data: 'myData',
enableCellEdit: true,
enableCellSelection: true,
enableRowSelection: false,
columnDefs: [{
field: 'name',
displayName: 'Name',
cellTemplate: cellTemplateEditOnClick.replace('CUSTOM_FILTER', '')
}, {
field:'dateOfBirth',
displayName:'Date of Birth',
editableCellTemplate: editableCellTemplateUsingDatePicker,
cellTemplate: cellTemplateEditOnClick.replace('CUSTOM_FILTER', '| date:"dd.MM.yyyy"')
}]
};
我知道如何在 ng-grid 单元格的 editableCellTemplate 中使用 UI-Bootstrap-Datepicker。
我的问题: 当我将 enableCellEdit=true 选项替换为 enableCellEditOnFocus=true(单击要编辑的单元格)时,它不再起作用。有谁知道为什么它坏了以及如何解决它?
var editableCellTemplateUsingDatePicker = '<input ng-class="\'colt\' col.index" datepicker-popup="dd.MM.yyyy" datepicker-append-to-body=true is-open="isOpen" ng-model="COL_FIELD" my-input="COL_FIELD"/>';
$scope.gridOptions = {
data: 'myData',
//enableCellEdit: true,
enableCellEditOnFocus: true,
enableCellSelection: true,
enableRowSelection: false,
columnDefs: [{
field: 'name',
displayName: 'Name'
}, {
field:'dateOfBirth',
displayName:'Date of Birth',
editableCellTemplate: editableCellTemplateUsingDatePicker,
cellFilter: 'date:"dd.MM.yyyy"',
}]
};
现在,我找到了另一种方法来使用 ui-bootstrap 日期选择器实现单击编辑所需的行为。
您可以将 ng-click="editCell()" 添加到您的自定义 cellTemplate 以通过单击单元格进入编辑模式。这里的工作设置:
var cellTemplateEditOnClick = '<div class="ngCellText" ng-click="editCell()" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty(col.field) CUSTOM_FILTER}}</span></div>';
$scope.gridOptions = {
data: 'myData',
enableCellEdit: true,
enableCellSelection: true,
enableRowSelection: false,
columnDefs: [{
field: 'name',
displayName: 'Name',
cellTemplate: cellTemplateEditOnClick.replace('CUSTOM_FILTER', '')
}, {
field:'dateOfBirth',
displayName:'Date of Birth',
editableCellTemplate: editableCellTemplateUsingDatePicker,
cellTemplate: cellTemplateEditOnClick.replace('CUSTOM_FILTER', '| date:"dd.MM.yyyy"')
}]
};