在click事件中,数据未显示在dojox.data.Datagrid中。

我想在数据网格中显示数据。 使用$ .get方法作为JSon类型,通过URL检索数据。 我没有收到任何错误。 但是也没有得到数据网格。 这是我的脚本代码::

 $("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":"shantanu.tomar@gmail.com"},{"ID":2,"Names":"Mayur","Email":"mayur.sharma@gmail.com"},{"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); }); }); }; }; });  

我的标记代码是::

 

当我在内容窗格中单击时,我得到我的警报(数据)输出,就像通过$ .get方法::将数据作为JSon检索一样

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

以Text为单位检索数据时输出::

 [{"ID":1,"Names":"Shantanu","Email":"shantanu.tomar@gmail.com"},{"ID":2,"Names":"Mayur","Email":"mayur.sharma@gmail.com"},{"ID":3,"Names":"Rohit"},{"ID":21,"Names":"Rakesh","Email":"askjhjk"},{"ID":22,"Names":"Hello"}] 

现在,当我更新数据时,我确实得到了数据警报ryt。 即值在警报(数据)中更新我的$ .get函数工作正常。 并且还会收到警报(“已执行加载。”)消息。 但网格没有显示出来。 它不是数据。但网格也没有显示出来。 在单击时,仅显示警告框。 而已。 我哪里弄错了? 我应该以文本或JSON的forms检索数据,以便将值正确地传递给“items:”。 请帮忙。 我希望在点击事件中网格根据数据库的变化刷新自己。 谢谢。

更改

 

 

请注意,data-dojo-id用于创建保存小部件的全局JS变量。 在您的情况下,您正在填充数据网格并要求dojo将id为gridDiv的DOM节点替换为datagrid。 由于dojo无法找到这样的节点,因此您没有看到数据网格