2012-04-08 2 views
0

이것은 간단한 작업처럼 보이지만 문서를 검색하는 어딘가에서 - 연결을 놓쳤습니다.GAE Datastore 결과 JDO를 사용하여 FlexTable에

나는 GAE에 저장된 메뉴를 가지고 쿼리 결과를 반환 할 수 있습니다 그 결과

public String[] getMeals() throws NotLoggedInException { 
    checkLoggedIn(); 
    PersistenceManager pm = getPersistenceManager(); 
    List<String> meals = new ArrayList<String>(); 

    try { 
     Query q = pm.newQuery(Meal.class, "user == u"); 
     q.declareParameters("com.google.appengine.api.users.User u"); 
     q.setOrdering("createDate"); 
     List<Meal> myMeals = (List<Meal>) q.execute(getUser()); 

     for (Meal myMeal : myMeals) { 
      meals.add(myMeal.getMealID()); 
     } 
    } finally { 
     pm.close(); 
    } 
    return (String[]) meals.toArray(new String[0]); 
} 

, 나는 FlexTable에 바인딩하고 싶습니다. stockwatcher 샘플을 사용하여 FlexTable에 바인딩 된 ID를 얻을 수 있었지만 내 결과 세트의 다른 필드를 어떻게 묶는 지 개념이 누락되었습니다. (내가 GAE에있는 필드는 mealID, mealType 및 mealDate입니다.)

위에서 우리는 mealID를 List로 던지고있는 것을 볼 수 있습니다. 다른 필드들도 은 필터를 수행하지 않았기 때문에이 쿼리에 존재해야한다는 것을 알고 있습니다. 사실, 내 코드를 다음과 같이 변경하면

meals.Add (myMeal.getMealID(), myMeal.getMealDate());

모든 데이터를 반환하지만 flex 테이블은 각 행을 하나의 행에있는 세 개의 필드 대신 새로운 행으로 처리합니다.

제 질문은 : FlexTable을 결과 집합에 바인딩 할 수 있도록 내 레코드를 캡처하여 내 FlexTable로 보내는 방법은 무엇입니까? |

mealID : 참고로

, 클라이언트 측 코드 :

private void loadMeals() { 
    // load meals from server service MealService 
    mealService.getMeals(new AsyncCallback<String[]>() { 
     public void onFailure(Throwable error) { 
      handleError(error); 
     } 
     public void onSuccess(String[] meals) { 
      displayMeals(meals); 
     } 
    }); 

} 

private void displayMeals(String[] meals) { 
    for (String meal : meals) { 
     displayMenu(meal, meal, meal); 
    } 
} 

flextable는 다음과 같이 채워됩니다 식사 유형 | mealDate
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3

내가 이렇게 채울 원하는 :

mealID | 식사 유형 | mealDate
1 | 아침 식사 | 12/22/2012
2 | 점심 | 12/22/2012
3 | 스낵 | 12/23/2012

미리 감사드립니다.

답변

0

이 질문은 해당 링크에서 자세한 내용은 다음 Problems passing class objects through GWT RPC

의 중복 및 oDesk 날 것 가지고로부터 약간의 도움을 고용했다. 주된 감독은 {appname} .gwt.xml에 entrypoint 클래스가 필요하고 모델 클래스를 공유 패키지에 배치해야했습니다.

관련 문제