ОБНОВЛЕНО: JQGrid с пейджером, идентификатор таблицы последней строки повторяется один раз при увеличении номера строки - PullRequest
0 голосов
/ 12 сентября 2011

У меня (странная?) Проблема с JQGrid. Я заполняю сетку локальным XML. Я установил JQGrid с rowNum: 10 и rowList: [10,20,30,40,50]. У меня 12 записей. Данные (изначально 10) отлично загружаются в сетку, а идентификаторы таблиц: ["1", "2", "3", "4", "5", "6", "7", "8", «9», «10»]. Когда я изменяю rowList на 20, идентификаторы таблицы [«1», «2», «3», «4», «5», «6», «7», «8», «9», « 10 "," 10 "," 11 "]. Число 10 показано дважды. Кто-нибудь видел эту ошибку раньше? Заранее спасибо.

Версия JQuery: 1.4.2
Версия jqGrid: 3.8.1

Фрагменты кода
XML у нас здесь:

<? Xml version = '1.0' encoding = 'utf-8'?> prasanth kumar Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар Prasanth Кумар
JQGrid определяется следующим кодом:


    jQuery("#tableGrid").jqGrid(
    { 
        datatype: "xmlstring",
        datastr : mystr, 
        height: 'auto', 
        rowNum: 10, 
        rowList: [10,20,30,40,50], 
        colNames:['First Name', 'Last Name'], 
        colModel:[ {name:'firstname', width:7, sorttype:"string"},
                   {name:'lastname', width:7, sorttype:"string"}       
                 ], 
        pager: "#pager", 
        viewrecords: true, 
        sortname: 'firstname', 
        autowidth:true,
        grouping:false
    }); 

Когда я проверяю firebug после изменения списка строк на 20, строки создаются, как показано ниже:

<tr id="9" class="ui-widget-content jqgrow ui-row-ltr" role="row"><br />
<tr id="10" class="ui-widget-content jqgrow ui-row-ltr" role="row"><br />
<tr id="10" class="ui-widget-content jqgrow ui-row-ltr" role="row"><br />


Обратите внимание, что

повторяется. Это происходит, когда я помещаю rowNum в 10. Если я изменю rowNum на 3, будет создано дважды.

1 Ответ

0 голосов
/ 16 сентября 2011

Источником проблемы является то, что вы не включили информацию id в данные, которые вы опубликовали. Кроме того, вы используете «ретро» версии jQuery и jqGrid. Я рекомендую вам использовать jQuery 1.6.2 и jqGrid 4.1.2. Начиная с версии 3.8.2 был введен метод $ .jgrid.randId (), который в настоящее время используется во многих местах. Я надеюсь, что проблема уже исправлена ​​в последней версии jqGrid.

В любом случае, если вы добавите атрибут id к элементу <row> ваших данных, проблема не должна существовать, даже если вы продолжите использовать старую версию jqGrid.

...