我正在使用" ui-grid - v3.2.6"
我有一个包含6列的网格,其中2列('影响价值'以及'有效开始日期')是可编辑的。
'影响价值'正在使用editableCellTemplate:' ui-grid / dropdownEditor'
数据在网格中正确显示。但是,当我双击任何可编辑的列时。我看到奇怪的行为,请看屏幕截图。我想知道我做错了什么,当我双击该列时,我没有看到下拉列表。
我按照ui-grid教程链接
angular.module('impactMatrixModule')
.controller("impactMatrixController", ["$scope", "$http", "$rootScope", "uiGridConstants", function ($scope, $http, $rootScope,uiGridConstants) {
$scope.myExternalScope=$scope;
var distTypes = [
{ value: 'National Broadcast', label: 'National Broadcast' },
{ value: 'Local Broadcast', label: 'Local Broadcast'},
{ value: 'National Cable', label: 'National Cable'},
{ value: 'National Cable SplitNet', label: 'National Cable SplitNet'},
{ value: 'Local Cable Originator', label: 'Local Cable Originator'},
{ value: 'Regional Cable', label: 'Regional Cable'},
{ value: 'National Broadcast-Pioneer', label: 'National Broadcast-Pioneer'},
{ value: 'Special Event', label: 'Special Event'},
{ value: 'All Other Request', label: 'All Other Request'}
];
var imValues = [
{ value: 'Y', label: 'Y' },
{ value: 'N', label: 'N'},
{ value: 'I', label: 'I'},
{ value: 'Y/T', label: 'Y/T'}
];
$scope.gridOptions = {
enableSorting: true,
enableFiltering: true,
enableColumnMenus: false,
enableCellEditOnFocus: true,
flatEntityAccess: true,
fastWatch: true,
minRowsToShow: 20,
paginationPageSizes: [20, 50, 100, 500, 1000],
paginationPageSize: 50,
columnDefs: [
{
field: 'distributorDesc',
displayName: 'Distributor Type',
enableCellEdit: false,
filter: {
selectOptions: distTypes,
type: uiGridConstants.filter.SELECT,
condition: uiGridConstants.filter.EXACT
}
},
{
field: 'functionalArea' ,
displayName: 'Functional Area',
enableCellEdit: false
},
{
field: 'applicationName',
displayName: 'Application Name',
enableCellEdit: false
},
{
field: 'changeType',
displayName: 'Change Type',
enableCellEdit: false
},
{
field: 'impactValue',
displayName: 'Impact Value',
width: '10%',
enableFiltering: false,
enableCellEdit: true,
editType: 'dropdown',
editDropdownOptionsArray: imValues,
editDropdownIdLabel: 'impactValue',
editDropdownValueLabel: 'impactValue',
editableCellTemplate: 'ui-grid/dropdownEditor'
},
{
field: 'effStartDate',
displayName: 'Effective Start Date',
width: '10%',
enableFiltering: false,
type: 'date',
cellFilter: 'date:"yyyy-MM-dd"'
}
],
onRegisterApi: function( gridApi ) {
$scope.grid1Api = gridApi;
}
};
$http.get("/CRST/impactMatrix/distType/all")
.then(function (evt) {
console.log(evt.data.length)
$scope.gridOptions.data = evt.data;
}, function () {
console.log("error occured while getting the response from Web service")
})
}]);

<div class="row primaryContainer margin-top15">
<div id="grid1" ui-grid="gridOptions" ui-grid-pagination ui-grid-edit
ui-grid-resize-columns class="grid" ></div>
</div>
&#13;
答案 0 :(得分:0)
在imValues数组中,您有一个值和一个标签。在Impact值的列定义中,您有两个错误的属性:
editDropdownIdLabel: 'impactValue',
editDropdownValueLabel: 'impactValue',
如果我正确,editDropdownValueLabel属性指示您在关注单元格时看到的内容,而editDropdownIdLabel属性指示所选选项的实际值。非常像普通的html标签。 所以这将有效:
editDropdownIdLabel: 'value',
editDropdownValueLabel: 'label',
如果它不起作用,请使用:
editDropdownIdLabel: 'label',
editDropdownValueLabel: 'value',