1

我有 ag-grid 表。我正在用按钮替换“Bookingxml”列数据。单击该按钮时,它应该在“out”div 中显示该特定单元格的数据。我浏览了文档并认为 cellRenderer 是这样做的方法。我尝试了下面的代码,但没有奏效。

var gridOptions = {
    columnDefs: [

        {headerName: 'Booking Type', field: 'BookingType', width: 200},
        {headerName: 'Booking Error', field: 'BookingError', width: 150 },
        {headerName: 'Booking Date', field: 'BookingDate', width: 150, filter: 'number', filterParams: {apply: true, newRowsAction: 'keep'}},
        {
            headerName: 'Booking XML', field: 'Bookingxml', width: 250, 
            cellRenderer: function (params) {

                return '<button ng-click="display()">View XML</button>';
            }

        }
    ],
    enableColResize: true,
    enableSorting: true,
    enableFilter: true

};

return gridOptions;
}

function display(xml) {
    $('#out').html(params.value);
}
4

2 回答 2

2

您可以尝试使用 ag-grid (cellClicked) 事件来调用基类中的处理程序。然后处理填充您的html。

对于一个简单的测试,不要打扰渲染器,只需检查您是否可以处理该事件

html

(cellClicked)="onCellClicked($event)"

后级(角度 2,所以你的可能会有所不同)

private onCellClicked($event) {  }

首先正确。如果可行,则可以设置渲染器以显示按钮/链接/图标/其他以相应地完成 gui

于 2017-09-26T09:19:09.397 回答
1

我想到了。可能,这可能不是正确的方法,但确实有效。我在下面发布解决方案。

{headerName: 'Booking XML', field: 'Bookingxml', width: 250, cellRenderer: 
                function(params) {
                return '<button>Expand All</button>';
                },
                onCellClicked: function (params) {

                    $('#out').html(params.value);
                }
            }
于 2017-09-26T14:41:43.387 回答