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);
        }
    });
Другие вопросы по тегам