0

我有一个 Grid,其中包含 4 列,某列包含 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);

在我的按钮的句柄事件中,我应该写什么来获取 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) {


}
};
}

请帮助我.....谢谢

4

1 回答 1

3

您正在渲染 TextField 单元格小部件,但在更改文本字段中的值后您缺少更新模型。为什么不直接使用默认的网格编辑技术? http://staging.sencha.com:8080/examples-dev/#ExamplePlace:inlineeditablegrid

于 2012-09-04T09:05:59.327 回答