2011-08-14 4 views
1

Webサービスから取得したデータでDataGridを作成しようとしています。多くの苦しみの後、私は問題がデータにもサービスにもないことに気付きました。私はDataGridを宣言的に作成することができましたが、私はより複雑なシナリオでそれを実行するので、プログラムでそれを行う必要があります。Dojo DataGridをプログラムで作成する:「申し訳ありません、エラーが発生しました。」レイアウトの問題?

複雑なユースケースから非常に単純なケースに移行しましたが、まだ失敗しています。 私が見ているのはDataGridだけですが、古典的な "Sorry、an error occurred"エラーが表示されます。

+----------+----------------------------+ 
| id  | name      | 
+----------+----------------------------+ 
|  Sorry, an error occurred   | 
|          | 

これは私の簡単な例です:

<html> 
<head> 
<link rel="stylesheet" href="MyCSS.css"> 
<script type="text/javascript" src="lib/dojo/dojo.js" charset="utf-8"></script> 
<script> 
    dojo.require("dojo.data.ItemFileReadStore"); 
    dojo.require("dojox.grid.DataGrid"); 
</script> 
</head> 

<body class="soria"> 
    <div id="node" style="width:650px;height:300px"></div> 
    <script> 
     var structure = [ 
      {field: "id", width: 20}, 
      {field: "name", width: 100} 
     ]; 

     var data = [ 
      {"id": 1, "name": "John"}, 
      {"id": 2, "name": "Lucy"} 
     ]; 

     var node = dojo.byId("node"); 
     var store = new dojo.data.ItemFileReadStore({ 
      data: data 
     }); 
     var grid = new dojox.grid.DataGrid({ 
      store: store, 
      structure: structure 
     }, 
     document.createElement('div')); 

     node.appendChild(grid.domNode); 
     grid.startup(); 
    </script> 
</body> 
</html> 

私は私は本当にばかな何かが欠けている願っています。コンソールにエラーは表示されません。

提案がありますか?

var store = new dojo.data.ItemFileReadStore({ 
    data: {items: data} 
}); 

問題を解決:

答えて

5

問題は、データストアが異なるフォーマットを必要とすることです。

関連する問題