У меня есть настройка сетки master / detail ag-Grid. Поэтому, когда основная строка сетки расширяется, она загружает детальную сетку.
См. простой пример: https://www.ag-grid.com/javascript-grid-master-detail/#example-simple-master-detail
Это работает на том основании, что данные для детальной сетки уже были извлечены в исходных данных json, используемых в основной сетке.
Я хочу взять id
выбранной строки главной сетки и сделать второй вызов службы HTTP, чтобы получить данные json для сетки деталей.
Простой пример просто отправляет данные json в successCallback следующим образом:
getDetailRowData: function(params) {
params.successCallback(params.data.callRecords);
}
Я попытался изменить этот метод на:
getDetailRowData: function(params) {
this.http
.get(
"https://gist.githubusercontent.com/adrianwright109/37a5e37ba2382b26f42b9d12a8593878/raw/60d2ffed511262a6a2e7e54e01bffd28c3701c5e/ClientProfiles.json"
)
.subscribe(data => {
params.successCallback(data);
});
// params.successCallback(params.data.callRecords);
}
С помощью этого кода я получаю следующие ошибки:
ERROR TypeError: невозможно прочитать свойство http, равное undefined
ОШИБКА Ошибка: ag-Grid: не удается заставить сетку рисовать строки, когда она находится в середине строк рисования. Ваш код, вероятно, вызвал метод API сетки, когда сетка находилась на этапе рендеринга. Чтобы преодолеть это, поместите вызов API в тайм-аут, например, вместо api.refreshView () вызовите setTimeout (function () {api.refreshView (), 0}). Чтобы узнать, какая часть вашего кода вызвала обновление, проверьте эту трассировку стека.
getDetailRowData: function(params) {
setTimeout(function() {
this.http
.get(
"https://gist.githubusercontent.com/adrianwright109/37a5e37ba2382b26f42b9d12a8593878/raw/60d2ffed511262a6a2e7e54e01bffd28c3701c5e/ClientProfiles.json"
)
.subscribe(data => {
params.successCallback(data);
});
}, 500);
// params.successCallback(params.data.callRecords);
}
С этим кодом я получаю следующую ошибку:
ERROR TypeError: невозможно прочитать свойство get of undefined
У меня есть Plunker:
https://next.plnkr.co/plunk/IS5a3jKyDJJSSdh0
Кто-нибудь добился ленивой загрузки данных сетки деталей из вызова службы веб-API?