我的视图中有一个UI-Grid,在某些情况下我必须显示不同的东西和不同的配置(例如可编辑)。
我的一个专栏是一个下拉列表,但是当我更改网格columnDefs时,我的下拉列是一个文本并且不允许编辑。
$scope.grdComposicaoQuimica =
{
showGridFooter: true,
enableSorting: true,
enableGridMenu: true,
exporterMenuCsv: false,
exporterMenuPdf: false,
enableRowHeaderSelection: false,
enableCellEditOnFocus: true,
data: [],
};
$scope.atualizarCondicao = function () {
if ($('#hdf-Operacao').val() == "I" || $('#hdf-Operacao').val() == "E") {
$scope.grdComposicaoQuimica.enableCellEdit = true;
$scope.grdComposicaoQuimica.columnDefs = [
{ displayName: 'Elemento', field: 'COD_ELEME_QUIMI', minWidth: 75, enableCellEdit: false },
{ name: 'COD_UNIDA_MEDIDA', displayName: 'Unid. Medida', minWidth: 80, editableCellTemplate: 'ui-grid/dropdownEditor',
editDropdownRowEntityOptionsArrayPath: 'UnidadesMedida', editDropdownIdLabel: 'COD_UNIDA_MEDID', editDropdownValueLabel: 'COD_UNIDA_MEDID'},
{ displayName: 'Mínimo', field: 'VLR_MINFA_ELEME', minWidth: 100, type: 'number' },
{ displayName: 'Máximo', field: 'VLR_MAXFA_ELEME', minWidth: 100, type: 'number' }
]
}
else {
$scope.grdComposicaoQuimica.enableCellEdit = false;
$scope.grdComposicaoQuimica.columnDefs = [
{ displayName: 'Elemento', field: 'COD_ELEME_QUIMI', minWidth: 75 },
{ displayName: 'Unid. Medida', field: 'COD_UNIDA_MEDIDA', minWidth: 75 },
{ displayName: 'Mínimo', field: 'VLR_MINFA_ELEME', minWidth: 100, type: 'number' },
{ displayName: 'Máximo', field: 'VLR_MAXFA_ELEME', minWidth: 100, type: 'number' }
]
}
};
我填写网格数据时加载了“UnidadesMedida”属性。对于每一行,都会加载此属性。
所有其他配置工作,只是dorpdownlist列没有。