1

Я хочу добавить специальную модель выбора в таблицу сотовых. В принципе, функция, которую я хочу иметь, - это выбрать строку в таблице, которая расположена слева, с правой стороны появится соответствующая форма. Я знаю, что многие люди будут использовать singleSelectionModel с SelectionChangeHandler. Но есть проблема с этим методом.Как добавить пользовательский выбор Обработчик на таблицу сотовых

Например, если я выбираю строку 1 на столе. форма всплывает. Закрыв форму, нажмите кнопку закрытия. Позже я снова выбираю строку 1, событие не запускается, потому что это SelectionChangeHandler. Я должен выбрать другую строку, прежде чем делать это. Это нехорошо.

Так что я думаю, что есть несколько способов сделать это:

  1. сделать ряд отменен сразу после того, я выбираю строку.
  2. Используйте обработчик щелчка, чтобы запустить событие (чтобы открыть форму)
  3. Для этого используйте другую модель выбора. (У меня нет никаких идей по поводу этого, хотя)

Так что мои вопросы,

  1. Кто-нибудь знает, какой другой обработчик выбора можно использовать для этого.
  2. Если я использую обработчик кликов на сотовой сети, возникнут ли какие-либо проблемы?

Я просто хочу узнать больше об этом. Поэтому любые идеи будут приветствоваться. Большое спасибо.

С наилучшими пожеланиями.

ответ

1

Использование NoSelectionModel. После выбора строки он не будет обновлять представление таблицы. То есть, даже если выбрана одна и та же строка, событие изменения запускается.

//Here 'Contact' is the datatype of the record 
final NoSelectionModel<Contact> selModel = new NoSelectionModel<Contact>(); 
selModel.addSelectionChangeHandler(new Handler() { 
    @Override 
    public void onSelectionChange(SelectionChangeEvent event) { 
     Contact clickedObject = selModel.getLastSelectedObject(); 
     GWT.log("Selected " + clickedObject.name); 
    } 
}); 
table.setSelectionModel(selModel); 
0

У меня есть таблица ячеек в каждом проекте. Лучше всего просто отменить выбор строки вручную, как вы упомянули. и сделать изменение css, например, выбор строки таблицы ячейки не изменился после выбора.