Сетка AG: перетаскивание строк (старые значения) - PullRequest
0 голосов
/ 27 января 2020

Когда данные узла обновляются после визуализации строки в сетке, метка-призрак с перетаскиванием не обновляется, чтобы отражать изменение значения в столбце.

Например, запись # 1: начальное значение спортсмена 'Мишель Фелпс' . Преднамеренно на onFirstDataRendered я обновляю поле атлета до 'Mark Twain' . Если вы начинаете перетаскивание строки, устанавливается старое значение столбца, а не данные обновления.

Средство устранения - это вызов

api.redrawRows ({rowNodes: []})

или внедрить

'unmanagaged' rowDragManaged.

Не должно ли основное событие события перетаскивания строки обновляться для наблюдения последнего возвращаемого значения valueGetter ?

Пример кода:

var columnDefs = [
    {field: "athlete", rowDrag: true},
    {field: "country"},
    {field: "year"},
    {field: "date"},
    {field: "sport"},
    {field: "gold"},
    {field: "silver"},
    {field: "bronze"}
];

var gridOptions = {
    defaultColDef: {
        width: 150,
    },
    rowDragManaged: true,
    columnDefs: columnDefs,
    animateRows: true,
    onFirstDataRendered: function(params){
      var row = params.api.getDisplayedRowAtIndex(0);
      if(row){
        row.setDataValue("athlete","Mark Twain");
      }
    }
};

// setup the grid after the page has finished loading
document.addEventListener('DOMContentLoaded', function() {
    var gridDiv = document.querySelector('#myGrid');
    new agGrid.Grid(gridDiv, gridOptions);

    // do http request to get our sample data - not using any framework to keep the example self contained.
    // you will probably use a framework like JQuery, Angular or something else to do your HTTP calls.
    var httpRequest = new XMLHttpRequest();
    httpRequest.open('GET', 'https://raw.githubusercontent.com/ag-grid/ag-grid/master/packages/ag-grid-docs/src/olympicWinners.json');
    httpRequest.send();
    httpRequest.onreadystatechange = function() {
        if (httpRequest.readyState === 4 && httpRequest.status === 200) {
            var httpResult = JSON.parse(httpRequest.responseText);
            gridOptions.api.setRowData(httpResult);
        }
    };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...