如何在GWT EXT中从网格获取文本字段

时间:2012-09-04 05:03:22

标签: gwt gridview extjs gwt2 gxt

我有一个Grid包含4列,somewhere列包含TextField和某个ComboBox,我通过调用特定ColumnConfig的渲染器来实现这一点。 每行都有一个名为“保存”的按钮。

用户甚至可以对textField的内容进行更改,我现在想要textField内容,如何获取它。

我无法获得enter image description here文本字段本身。 当我尝试使用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) {


}
};
}

请帮帮我.....谢谢

1 个答案:

答案 0 :(得分:3)

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