У меня есть CellList с SingleSelectionModel мой случай использования:CellList всегда помнить старый выбор после обновления новых данных, даже если старый выбор очищается
- Пользователь выбирает одну строку (oldProxy) в CellList.
- Пользователь создает один прокси (newProxy) и отправляет на сервер.
- Клиент получает ответ на успех, а CellList начинает запрашивать новейшие данные с сервера.
- CellList, заполненный новейшими данными, и строка на шаге 1 по-прежнему выбрана.
Но я хочу, чтобы выбрать самый новый ряд на шаге 4, я использую
selectionModel.setSelected(newProxy);
, но, кажется, он не работает и до сих пор выберите строку в step1.
Я попытался отменить строку перед шагом 2:
selectionModel.setSelected(oldProxy, false);
, но в конце концов он все-таки выбрать строку в step1, это странно. Есть идеи об этом?
Вы уверены, что речь идет о выборе, а не о «выборе клавиатуры» _? Вы пытались отладить? (например, установка точки останова в 'isSelected' модели выбора и просмотр переданного значения и callstack?) –
Здравствуйте, дело не в« выборе клавиатуры », я попытался отлаживать, после того, как мой CellList заполнил новыми данными, я называю' selectionModel .setSelected (newProxy) ', но в probelm находится в' resolveChanges() 'в SingleSelectionModel, он немедленно возвращается, потому что' newSelectionPending' является ложным. Я думаю, это потому, что CellList просто выбирает старую выделенную строку. Я попытаюсь воспроизвести его позже в проекте корабля. – Mike
Hi Thomas, как ваш намек, первопричиной является «выбор клавиатуры», после того как я отлаживаю очень длинный 'resolPendingState()' – Mike