Как загрузить разные опции в AG-Grid select dropdown, основываясь на другом значении ячейки в той же строке с Angular 6? - PullRequest
0 голосов
/ 22 марта 2019

Я использую следующий код в определении столбца :

 { headerName: 'Part', field: 'part', 
    cellStyle: {'background-color': 'cyan'}, editable: true, 
    cellEditor:'agSelectCellEditor', cellEditorParams: 

У меня есть другой столбец в сетке, например:

   { headerName: 'Colour', field: 'colour', 
    cellStyle: {'background-color': 'cyan'}, editable: true, 
    cellEditor:'agSelectCellEditor', cellEditorParams: function(params) { 
    var selectedPart = params.data.type; if (selectedPart==='R&S') { 
    return { values: this.partTypeListRS }; } else if(selectedPart==='WiFi') 
    { return { values: this.partTypeListWifi }; } else 
    if(selectedPart==='Other') { return { values: this.partTypeListOther }; 
    }}},
    }

Я получаюошибка не может прочитать свойство this.partTypeListRS с неопределенным значением, если я щелкну строку, где выполняется условие selectedPart === 'R & S' selected и, соответственно, для всех остальных условий.

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Вы можете определить свою функцию cellEditorParams таким образом, чтобы она возвращала различные значения в зависимости от значений другого столбца.

Вот пример с сайта ag-grid -

cellEditor : 'agSelectCellEditor';
cellEditorParams: function(params) {
    var selectedCountry = params.data.country;
    if (selectedCountry==='Ireland') {
        return {
            values: ['Dublin','Cork','Galway']
        };
    } else {
        return {
            values: ['New York','Los Angeles','Chicago','Houston']
        };
    }
}

Взгляните на этот пример из официальных документов.

0 голосов
/ 25 марта 2019

Вместо function(params) я использовал функцию стрелки (params)=>, затем я смог получить к ней доступ внутри CellEditorParams

...