0

データグリッドにデータを表示したい。データは、$ .getメソッドをJSon型としてURLを使用して取得します。私は何の誤りもありません。しかし、データグリッドも取得できません。ここでは私のスクリプトコード::クリックイベントでデータがdojox.data.Datagridに表示されることはありません。

<script type="text/javascript"> 
$("document").ready(function(){ 
    $('#contentpaneid').bind('click', getInfoFromServer); 
    function getInfoFromServer(){ 
     $.get("http://localhost:8080/2_8_2012/jsp/GetJson.jsp?random=" + new Date().getTime(), function (result) { 
      success:postToPage(result), 
      alert('Load was performed.'); 
      },"Json"); 

    function postToPage(data){ 
    alert(data);  
    var storedata = { 
     identifier:"ID", 
     items: data //[{"ID":1,"Names":"Shantanu","Email":"[email protected]"},{"ID":2,"Names":"Mayur","Email":"[email protected]"},{"ID":3,"Names":"Rohit"},{"ID":21,"Names":"Rakesh","Email":"askjhjk"}] 

}; 

    var store1 = new dojo.data.ItemFileWriteStore({data: storedata}) ; 
    var gridStructure =[[ 

          { field: "ID", 
           name: "ID_Emp", 
           width: "20%", 
           classes:"firstName" 
          }, 
          { 
           field: "Names", 
           name: "Name", 
           width: "20%", 
           classes: "firstName" 
          }, 
          { field: "Email", 
           name: "Mail", 
           width: "20%", 
           classes:"firstName" 
          } 

        ] 
       ]; 

    var grid = new dojox.grid.DataGrid({ 

     store: store1, 
     structure: gridStructure, 
     rowSelector: '30px', 
     selectionMode: "single", 
     autoHeight:true, 
     columnReordering:true 

     },'gridDiv'); 


    grid.startup(); 
    dojo.connect(grid, "onSelectionChanged", grid, function(){ 
       var items = grid.selection.getSelected(); 



      // do something with the selected items 
       dojo.forEach(items, function(item){ 
        var v = grid.store.getValue(item, "Names"); 

        function showDialog() { 
         dojo.require('dijit.Tooltip'); 
         dijit.byId("terms").show(); 
        } 

        showDialog(); 
        }, grid); 

      }); 


      dojo.connect(grid, "onCellClick", grid, function sendmail(){ 
       var items = grid.selection.getSelected(); 

       dojo.forEach(items, function(item){ 
        var v1 = grid.store.getValue(item, "Email");  
        alert(v1); 
        request.setAttribute("variablemail", v1); 
      }); 
    }); 

}; 
}; 
}); 
</script> 

私のマークアップコードがある::だ

<div id="contentpaneid" dojoType="dijit.layout.ContentPane" title="Pending Activities" style="background-image: url('http://localhost:8080/2_8_2012/images/17.png');"> 

<div data-dojo-id="gridDiv" title="Simple Grid" style="width:900px; height:200px;"> 

私は私が$に.getを通じて、JSONなどのデータを取得するときのように私の警告(データ)の出力が得コンテンツ・ペイン内をクリックし

方法::

[Object object][Object object][Object object](The number of [Object object] depends on number of entries in Database) 

と出力テキストなどのデータを取得する::

[{"ID":1,"Names":"Shantanu","Email":"[email protected]"},{"ID":2,"Names":"Mayur","Email":"[email protected]"},{"ID":3,"Names":"Rohit"},{"ID":21,"Names":"Rakesh","Email":"askjhjk"},{"ID":22,"Names":"Hello"}] 
です

私はデータを更新するとき、私は自分のデータアラートを得る。つまり値がアラート(データ)で更新されています。my $ .get関数が正常に動作しています。また、警告(「ロードされました。」)というメッセージが表示されます。しかし、グリッドは表示されません。データではなく、グリッドも表示されません。クリックするとアラートボックスのみが表示されます。それでおしまい。どこで私は間違っているのですか?そして、私は、値が正しく "items:"に渡されるように、データをテキストまたはJSONとして取得する必要があります。助けてください。私はクリックイベントで、グリッドがデータベースの変化に応じてリフレッシュしたいと思っています。ありがとう。データ道場-IDがウィジェットを保持するグローバルJS変数を作成するために使用されることを意図されていることを

答えて

0

変更

<div data-dojo-id="gridDiv"... 

<div id="gridDiv" ... 

に注意。 状況によっては、DataGridにデータを入力し、dojoにID gridDivのDOMノードをDataGridで置き換えるように依頼しています。 dojoはそのようなノードを見つけることができないため、データグリッドは表示されません

関連する問題