2012-09-04 6 views
0

4 개의 열과 어딘가에있는 열을 포함하는 하나의 그리드에 TextField와 어딘가에 ComboBox가 포함되어 있습니다. 특정 ColumnConfig에 대한 렌더러를 호출하여이 작업을 수행했습니다. 각 행에는 "저장"이라는 이름의 버튼이 하나씩 있습니다.GWT EXT에서 그리드에서 Textfield를 가져 오는 방법

사용자가 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); 
} 

클라이언트 코드

getTextAndViewRenderer에서
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); 

() 함수를 내가 텍스트 필드 또는 콘텐츠를하기 위해 작성해야하는지 버튼에 대한 나의의 handleEvent에서

accountNameTextField = getTextField(null, data, 80, Constants.VA_ACCOUNT_NAME_ID+rowIndex, Constants.VA_ACCOUNT_NAME_ID, false, false); 
hp.add(accountNameTextField); 

그것

감사합니다 당신은 텍스트 필드 세포 위젯을 렌더링하고

답변

3

..... 제발 도와주세요,하지만 당신은 텍스트 필드의 값을 변경 한 후 모델을 업데이트 놓치고있어. 기본 그리드 편집 기술을 사용하지 않는 이유는 무엇입니까? http://staging.sencha.com:8080/examples-dev/#ExamplePlace:inlineeditablegrid

+0

감사합니다. DarekKay ...... 잘못된 방식으로 작업하고있었습니다 ... 이제 EditGrid로 그리드를 개선했으며 필요로하는 방식으로 작동했습니다 .... 감사합니다. – Jayesh

관련 문제