Les données ne s'affichent pas dans dojox.data.Datagrid sur un événement de clic.

Je souhaite afficher les données dans une grille de données. Les données sont récupérées par une URL utilisant la méthode $ .get comme type JSon. Je ne reçois aucune erreur. Mais n'obtenant pas aussi de grille de données. Voici mon code script ::

<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> 

Mon code de balisage est ::

 <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;"> 

Lorsque je clique sur le volet de contenu intérieur, j'obtiens la sortie d'alerte (données) comme lors de la récupération des données en JSon à l'aide de la méthode $ .get ::

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

Et la sortie lors de la récupération des données en tant que texte est ::

 [{"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"}] 

Maintenant, lorsque je met à jour les données, je reçois mes alertes de données ryt. C'est-à-dire que la valeur est mise à jour en alerte (données), la fonction $ .get fonctionne bien. Et aussi obtenir un message d'alerte ('Load was performed.'). Mais la grille ne s'affiche pas. Ce n'est pas les données. Mais la grille n'est pas également affichée. Sur les boîtes d'alerte de clic seulement apparaissent. c'est tout. Où est-ce que je fais une erreur? Et je devrais récupérer les données sous forme de texte ou de JSON afin que les valeurs soient transmises correctement à «éléments:». Aidez-vous. Je veux que, lors d'un événement de clic, la grille se rafraîchisse selon les modifications apportées à la base de données. Merci.

    Changement

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

    à

     <div id="gridDiv" ... 

    Notez que data-dojo-id est destiné à être utilisé pour créer une variable JS globale qui détient le widget. Dans votre situation, vous gérez le datagrid et demandez dojo de remplacer un noeud DOM par id gridDiv avec le datagrid. Puisque dojo n'est pas capable de trouver un tel noeud, vous ne voyez pas le datagrid