我有一个 :
- 客户端类
- 列表显示
- 文本域
我需要填充我的 ListView 以形成表格:
工作代码:
clientModel = new LoadableDetachableModel() {
@Override
protected Object load() {
return Client.getClientListByCompanyName(searchClientInput.getValue());
}
};
searchClientInput.setModel(new Model<String>());
searchClientInput.add(new AjaxFormComponentUpdatingBehavior("onkeyup") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.add(clientListViewContainer);
}
});
clientListView = new ListView<Client>(CLIENT_ROW_LIST_ID, clientModel) {
@Override
protected void populateItem(ListItem<Client> item) {
Client client = item.getModelObject();
item.add(new Label(CLIENT_ROW_COMPANY_CNPJ_ID, client.getCompanyName()));
item.add(new Label(CLIENT_ROW_COMPANY_NAME_ID, client.getCompanyCnpj()));
}
};
clientListViewContainer.setOutputMarkupId(true);
clientListViewContainer.add(clientListView);
add(clientListViewContainer);
现在,在我的 HTML 中,我有一个 TextField。每当用户在此 TextField 中键入内容时,都会在数据库中使用他键入的任何内容进行选择。因此,对于每个单词,都会进行一次选择,并且需要更新表格。我猜我将需要使用 AJAX 和可能的模型。我对如何做到这一点有点迷茫,如果有人能给我提供例子,我将非常感激。
编辑:抛出异常的新代码:Last cause: Attempt to set model object on null model of component: searchClientForm:searchClientInput
编辑 2:好的,例外是我的 TextField 没有将数据绑定到的模型。所以我所做的是:searchClientInput.setModel(new Model<String>());
我也有这个事件的问题。使用onkeydown
工作正常,但未达到预期。我有公司名称 1-4。如果我输入公司名称 1,我需要再次按一个键,以便更新表格。onkeyup
不会发生这种情况。谢谢您的帮助。