Раскрывающийся список в jqgrid не работает после сортировки - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть выпадающий список в jqgrid, который работает. Но после сортировки несколько раз данные в раскрывающемся списке превращаются в «неопределенные» значения.

Данные в раскрывающемся списке различны для каждой строки. Он извлекается из списка с разделителями, анализируется и превращается в раскрывающийся список для отображения в этой ячейке. Он проходит через этот код после каждой сортировки. Однако где-то по пути вместо исходных данных, которые попадают в эту ячейку, ячейка все еще содержит выпадающий код. Именно в этот момент создается новый выпадающий список, но все значения там «неопределенные».

Я подозреваю, что мне что-то не хватает по времени событий на странице, но я не уверен, где искать. Или, может быть, есть лучший способ добавить этот выпадающий список. У меня есть полный контроль над тем, как данные отправляются обратно из веб-службы, поэтому я могу изменить их там, если у кого-то есть идеи.

Вот пример кода в моем событии gridComplete:

var ids = jQuery("#listInbox").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
    var acnid = ids[i];

    // insert drop down for the trending results option
    var trendSelect = "<select style=\"width: 195px;\" class=\"trendSelect\"><option value=''>Select Test</option>";
    // testid`testname^testid`testname
    var trendItems = $('#listInbox').jqGrid('getCell',ids[i],'trending').split('^');
    var patName = $('#listInbox').jqGrid('getCell',ids[i],'patname');
    // for each trendItem, create an option for the select drop down
    for (var t=0; t < trendItems.length; t++) {
        var trendPieces = trendItems[t].split('`');
        trendSelect += "<option value='" + acnid + "^" + patName + "^" + trendPieces[0] + "^" + trendPieces[1] + "'>" + trendPieces[1] + "</option>";
    }
    trendSelect += "</select>";

    // insert dropdown in cell for this row
    $("#listInbox").jqGrid('setRowData',ids[i],{trending:trendSelect});
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...