когда я перехожу на следующую страницу в dojo dataGrid, автоматически выбираются строки (строки, выбранные на первой странице)

В моем dojo dataGrid, если я выбираю 7-ю и 8-ю строки, например, на первой странице, и если я перехожу на вторую страницу с помощью функции разбиения на страницы. Строки (7-я и 8-я строки, которые выбраны на первой странице) также выбираются по умолчанию на второй странице. Вот моя сетка:

var grid = new dojox.grid.EnhancedGrid({
id: 'linesGrid',
style: 'width:950px;height:250px;',
store: store,
structure: layout,
rowSelector: '20px',
plugins: {
  indirectSelection: {headerSelector:true, width:"40px", styles:"text-align: center;"},
  pagination: {
      pageSizes: ["25", "50", "100", "All"],
      description: true,
      sizeSwitch: true,
      pageStepper: true,
      gotoButton: true,
              /*page step to be displayed*/
      maxPageStep: 4,
              /*position of the pagination bar*/
      position: "bottom"
  }
}
}, document.createElement('div'));

person kumar    schedule 12.04.2013    source источник


Ответы (2)


Вам нужно сделать yourGrid.selection.deselectAll(); перед показом следующей страницы.

ИЗМЕНИТЬ:

Часть этого вопроса также обсуждалась здесь:

не удалось вызвать функция разбивки на страницы dojoEnhancedGrid

person Lucian Depold    schedule 12.04.2013
comment
где я должен добавить эту строку? Потому что я думаю, что нумерация страниц не будет под моим контролем, верно? Я имею в виду, когда я нажимаю на следующую страницу, я не знаю, какой код будет выполнен для добавления вышеуказанного кода.... - person kumar; 12.04.2013
comment
Когда вы нажимаете на nextPage, вызывается функция nextPage плагина paginator. Существуют также другие функции, такие как первая страница, gotopage и т. д. Вы можете использовать аспект dojo after, чтобы подключить функцию к другой функции. Вы можете подключить строку, которую я разместил, к функции следующей страницы, используя аспект додзё после. - person Lucian Depold; 12.04.2013
comment
Сетка выдает событие при доступе к хранилищу, возможно, вы могли бы прослушать это событие и добавить строку deselectall... - person Lucian Depold; 12.04.2013
comment
Я искал по всей сети. Я не получил событие, которое будет вызываться при разбивке на страницы, я пробовал с кодом ниже, но он не работает.. grid.on(SetStore, function(evt){ alert(store changes); }, true ); - person kumar; 15.04.2013

Установите для сетки значение keepSelection : true. Это сохранит правильные выбранные строки.

person CptAJ    schedule 28.11.2013
comment
Привет @CptAJ, где я должен добавить эту строку. - person Hasnain Ali Bohra; 23.08.2017