SmartGWT - Фильтровать данные Listgrid в зависимости от введенного значения в другой ячейке
У меня есть список, который имеет 4 столбца. Код, Имя, Кол-во и Цена. ячейка имени - это поле со списком, которое загружает имена через источник данных. Пока все в порядке. Теперь я хочу иметь возможность ввести код в ячейку Code col, а затем я хочу, чтобы в поле со списком отображалось имя в ячейке Name и соответствующая цена в ячейке Price. Может кто-нибудь помочь мне добиться этого. Я приложил скриншот, чтобы сделать вещи более ясными.
ура Zolf
1 ответ
Решение
Вы можете добавить ChangedHandler/BlurHandler в поле Код, которое будет вызываться, когда пользователь введет Код и попытается перейти к следующему полю. В обработчике событий вам нужно связать свою логику, чтобы установить имя и цену на основе значения кода.
listGrid.getField("Code").addChangedHandler(new ChangedHandler() {
@Override
public void onChanged(ChangedEvent event) {
Record r=listGrid.getRecord(event.getRowNum());
String code=(String)event.getValue();
//add your logic to get Name and price based on Code value here
r.setAttribute("Name", name);
r.setAttribute("Price", price);
}
});