Ich versuche, die Tabelle mit Ui-Grid anzuzeigen. Die Tabelle wird ordnungsgemäß angezeigt, ohne die Funktion onRegisterApi aufzurufen. Ich habe es nicht einmal bemerkt, da die Tabellenanzeige funktionierte, bis ich die Methode vm.gridApi.core.refresh() verwenden wollte. Als ich diese Methode hinzufügte, gab es mir vm.gridApi undefined Fehler.onRegisterApi Funktion wird nicht aufgerufen, ui-grid
Mein Controller sieht wie folgt aus:
function userEventData (resp) {
$http({
method: "GET",
url: resp.results["@href"]
}).success(function (responseData) {
logger.info("userEventData responseData", responseData);
vm.gridOptions.data = responseData;
logger.info("gridOptions", vm.gridOptions.data);
poulateGrid();
//return responseData;
});
}
function populateGrid() {
logger.info("populateGrid function activated");
vm.dateFormat = "medium";
var temp = vm.gridOptions.data;
vm.gridOptions = {
enableColumnMenu: true,
enableFiltering: true,
enableSelectAll: true,
rowTemplate: gridService.getRowTemplate(),
excludeProperties: ["meta"],
onRegisterApi: function (gridApi) {
logger.info("onRegisterApi activated");
vm.gridApi = gridApi;
logger.info("vm.gridApi when defined", vm.gridApi);
vm.gridApi.grid.registerRowsProcessor(vm.singleFilter(), 200);
},
columnDefs: [
{
field: "sun",
displayName: "Init User",
allowCellFocus: false,
enableGrouping: true,
},
{
field: "dun",
displayName: "Target User",
allowCellFocus: false,
},
{
field: "evt",
displayName: "Name",
allowCellFocus: false
},
{
field: "dip",
displayName: "What is affected",
allowCellFocus: false
},
{
field: "det",
displayName: "Time created",
allowCellFocus: false,
cellFilter: "date:grid.appScope.vm.dateFormat"
}
]
}
html
<div ui-grid="vm.gridOptions" style="padding-top: 1%;">
Jede Idee, warum dies geschieht? Vielen Dank!