我有一个Grid包含4列,somewhere列包含TextField和某个ComboBox,我通过调用特定ColumnConfig的渲染器来实现这一点。 每行都有一个名为“保存”的按钮。
用户甚至可以对textField的内容进行更改,我现在想要textField内容,如何获取它。
我无法获得文本字段本身。 当我尝试使用store.getAt(0)获取文本字段时,那时它给了我最初的TextField内容,而不是用户现在修改的内容。
服务器代码
List<AccountResult> results = new ArrayList<AccountResult>();
for (int i = 0; i < listAccounts.size(); i++) {
Account account = listAccounts.get(i);
AccountResult accountResult=new AccountResult();
accountResult.setActionId(account.getId());
accountResult.setAccountName(account.getAccountName());
accountResult.setEmailId(account.getAccountEmail());
accountResult.setMobileNo(account.getAccountcontactNum());
accountResult.setAccountDescription(account.getAccountDesc());
results.add(accountResult);
}
客户端代码
ListStore<AccountResult> store = new ListStore<AccountResult>();
store.add(response.getAccountDetails());
List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
ColumnConfig accountNameColumn = new ColumnConfig();
accountNameColumn.setId(AccountResult.ACCOUNT_NAME);
accountNameColumn.setHeader(Constants.VA_ACCOUNT_NAME);
accountNameColumn.setWidth(110);
accountNameColumn.setRenderer(getTextAndViewRenderer());
configs.add(accountNameColumn);
在getTextAndViewRenderer()函数中
accountNameTextField = getTextField(null, data, 80, Constants.VA_ACCOUNT_NAME_ID+rowIndex, Constants.VA_ACCOUNT_NAME_ID, false, false);
hp.add(accountNameTextField);
在我的handleEvent for Button我应该写什么来获取TextField或它的内容
private Listener<ButtonEvent> getActionListener(final Action action, final AccountResult result, final ListStore<AccountResult> store, final Grid<AccountResult> grid, final String property,final ColumnData config, final int rowIndex) {
return new Listener<ButtonEvent>() {
public void handleEvent(ButtonEvent be) {
}
};
}
请帮帮我.....谢谢
答案 0 :(得分:3)
您正在渲染TextField单元格小部件,但在更改文本字段中的值后,您将无法更新模型。 为什么不使用默认的网格编辑技术? http://staging.sencha.com:8080/examples-dev/#ExamplePlace:inlineeditablegrid