JQGrid теряет записи по сортировке столбцов - PullRequest
1 голос
/ 10 февраля 2012

У меня проблема с потерей записей JQGrid при сортировке столбцов. Например, если существует 400 записей, когда происходит сортировка, количество записей уменьшается до 20.

    $("#grdCaseFind").jqGrid({
  datatype: "local",
  height: 250,
  colNames:['SeqNo', 'Report Title', 'Location', 'Status', 'Date', 'Officer Name', 'Incident No.'],
  colModel:[
    {name:'SeqNo',index:'SeqNo', hidden:true},
    {name:'RepTitle',index:'RepTitle', align:"center", width:200},
    {name:'CaseAddr',index:'CaseAddr', align:"center", width:200},
    {name:'RepStatus',index:'RepStatus', align:"center", width:50},
    {name:'CaseBeginDate',index:'CaseBeginDate', width:70, align:"center"},
    {name:'RepOfficerName',index:'RepOfficerName', width:100, align:"center"},
    {name:'IncidentNo',index:'IncidentNo', width:80, align:"center"},
  ],
  multiselect: false,
  caption: "",
  onSelectRow: function (rowid, status) {
    if (status === false) {
      $(this).resetSelection();
      $("#btnOpen").attr("disabled", true);
     } else {
      $("#btnOpen").attr("disabled", false);
      $("#CaseSelectedIndex").val($("#grdCaseFind").getCell(rowid, "SeqNo"))
     }
  },
  ondblClickRow: function (rowid, iRow, iCol, e) {
    document.getElementById("btnOpen").click();
  },
  onSortCol: function (index, iCol, sortoder) {
    $("#btnOpen").attr("disabled", true);
  }
});

Данные заполняются из массива JSON, хранящегося в самой форме.

    grdCaseFindData = strFindResult.grdCaseFind;
    $(grdCaseFindData).each(function (i, e) {
      $("#grdCaseFind").addRowData(i + 1, e);
      $("#grdCaseFind").attr("rowNum", i + 1);
    });

Я сталкивался с этой проблемой раньше, и, посчитав записи и установив атрибут "rowNum", проблема была исправлена. В других моих сетках единственное отличие состоит в том, что я загружаю записи через вызов на сервер, который возвращает массив JSON. Есть идеи, почему эта сетка не ведет себя так, как другие?

1 Ответ

4 голосов
/ 17 февраля 2012

Не обращайте внимания на вопрос.Очевидно, есть проблема с динамической установкой атрибута rowNum после инициализации сетки.Единственный обходной путь, который я нашел для этого, был либо

rowNum: -1

, который работает только в более ранних версиях JQGrid, либо

rowNum: 9007199254740992

, который является максимальным размером, астрономически большим числомвряд ли будет достигнуто.

Если кто-то знает более элегантное и актуальное решение, пожалуйста, исправьте мой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...