简体   繁体   中英

ag-Grid: unable to find cellRenderer for key xxx

I am using AG Grid

Below is my code

$scope.columnDefs = [{
    cellRenderer: 'childMessageRenderer',
    field: "ID",
    cellRendererParams: {
        rendererImage: 'rain.png'
    },
    headerName: "Edit"
}];
$scope.gridOptions = {
    columnDefs: $scope.columnDefs,
    rowData: $scope.rowData,
    rowHeight: 48,
    headerHeight: 50,
    onRowSelected: onRowSelected,
    components: {
        childMessageRenderer: $scope.childMessageRenderer
    }
};

$scope.childMessageRenderer = function(params) {
    var rainPerTenMm = 5;
    return $scope.createImageSpan(rainPerTenMm, params.rendererImage);
}
$scope.createImageSpan = function(imageMultiplier, image) {
    var resultElement = document.createElement("span");
    for (var i = 0; i < imageMultiplier; i++) {
        var imageElement = document.createElement("img");
        imageElement.src = "some image url";
        resultElement.appendChild(imageElement);
    }
    return resultElement;
}

This gives me an error. Not sure what I am missing

ag-Grid: unable to find cellRenderer for key childMessageRenderer

Try the below code..

$scope.columnDefs = [
    {
        cellRenderer: 'childMessageRenderer',
        field:"ID",
        cellRendererParams: {
            rendererImage: 'rain.png'      
        },
        headerName: "Edit"
    }];
$scope.gridOptions = {
        columnDefs: $scope.columnDefs,
        rowData: $scope.rowData,
        rowHeight: 48,
        headerHeight: 50,
        onRowSelected: onRowSelected,
        components: {
            childMessageRenderer: childMessageRenderer
        }
    };

function childMessageRenderer(params) {
        var rainPerTenMm = 5;
        return createImageSpan(rainPerTenMm, params.rendererImage);
    }
function createImageSpan(imageMultiplier, image) {
        var resultElement = document.createElement("span");
        for (var i = 0; i < imageMultiplier; i++) {
            var imageElement = document.createElement("img");
            imageElement.src = "some image url";
            resultElement.appendChild(imageElement);
        }
        return resultElement;
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM