2012-04-08 15 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テーブルでは、1つの行の3つのフィールドではなく、新しい行として各アイテムが処理されます。

私の質問は、レコードをキャプチャして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クラスを必要とし、モデルクラスを共有パッケージに配置することでした。

関連する問題