你好,我使用网格来显示动态数据dojo,但我得到的是样本(n)次,但总是显示我最后的记录,但如果我用虚拟数据工作得很好,我希望你能帮助我解决这个问题。
define(["js/module/modControllerPersona", "dojo/store/Memory", "gridx/Grid", "gridx/core/model/cache/Sync", "dojo/data/ObjectStore"],
function(modControllerPersona, Store, Grid, Cache, ObjectStore){
var grid, store, data;
var persona = new Array();
return{
datagridx: function(){
modControllerPersona.persona().then(function(result){
persona = JSON.parse(result);
data = persona.items;
store = new Store({data: data});
var columns = [
{name: 'id', field: 'descripcion'},
{name: 'descripcion', field: 'id_Maquinaria'},
{name: 'descripcion', field: 'id_tipo_Maquinaria'},
{name: 'Nombre', field: 'kind'},
{name: 'Nombre', field: 'nombre'},
{name: 'Nombre', field: 'visible'}
];
grid = new Grid({
cacheClass: Cache,
store: store,
structure:columns
}, 'gridNode');
grid.startup();
});
也许这可以帮助你,我有一个类似的问题。如果没有列id,则无法正常工作。但是如果你像这样调整你的商店:
var store = new Memory({
data: data,
idProperty: 'descripcion'
});
也许"新记忆"是不必要的。在我的情况下,这是有效的(但我没有在这里再次测试)。我没有id,但我有另一个唯一字段代替这个。我想这是因为你的
{name: 'id', field: ' description '}
如果你用"id"来代替"description",我认为它也应该可以工作。
只要为Gridx添加"idProperty",我的问题就解决了
我的动态数据:var data = [{" ID ": " 1 ", " Số李ệu thống客":"Năng苏ất lập陈","正多边形ngữLT":"Java Web","丛đoạN":"代码审查代码","我瞧ạ项目":"定制/满","ĐơN vị见到":"代码/ManMonth"、"UCD1":"11.6","它":零},{" ID ":"2","Số李ệu thống客":"Năng苏ất lập陈","正多边形ngữLT":"Java Web","丛đoạN":"代码评审代码- UT","我瞧ạ项目":"定制/满","ĐơN vị见到":"代码/ManMonth"、"UCD1":"4.6","它":零},{" ID ":"3","Số李ệu thống客":"Năng苏ất lập陈","正多边形ngữLT":"Java Web","丛đoạn":"代码"、"Loạ我项目":"定制/满"、"Đơn vị见到":"代码/ManMonth"、"UCD1":"15.15","它":零}];
要求([dojo/存储/内存,"gridx/网格","gridx/核心/模型/缓存同步", function (Memory, Grid, Cache) {var store = new Memory({数据:数据,idProperty:"ID"});希望能有所帮助