Angular UI-Grid change columnDefs

时间:2016-11-30 11:22:04

标签: asp.net-mvc angular-ui-grid

我的视图中有一个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列没有。

0 个答案:

没有答案