gpt4 book ai didi

javascript - 有没有办法读取dojo Objectstore并将其转换为JS数组对象

转载 作者:行者123 更新时间:2023-11-29 23:27:29 25 4
gpt4 key购买 nike

寻找一种方法将 DOJO enhancedgrid ObjectStore 中的所有行读取为 JS 数组对象。

OnRowClick,我需要将所有项目作为数组获取。这是示例代码:

Layout, Id 是在其他方法中定义的。 Id 是第一个标题。

在下面的代码中,store是dataStore。

function constructEnhancedGrid(jsObject) {
require(
["dojo/store/Memory", "dojo/data/ObjectStore",
"dojox/grid/EnhancedGrid",
"dojox/grid/enhanced/plugins/Pagination", "dojo/domReady!"
],
function(Memory, ObjectStore, EnhancedGrid, Pagination) {

jsGlobalObject = jsObject;
jsObject = JSON.parse(jsObject);

var objectStoreMemory = new Memory({
data: jsObject,
idProperty: [tableheaders[0]]
});

dataStore = new ObjectStore({
objectStore: objectStoreMemory
});

constructEnhancedGridlayout(tableheaders);

if (typeof rtGrid === "undefined") {
rtGrid = new EnhancedGrid({
store: dataStore,
structure: enhancedGridLayout,
plugins: {
pagination: {
pageSizes: ["10", "25", "50", "100"],
description: true,
sizeSwitch: false,
pageStepper: true,
gotoButton: false,
maxPageStep: 5,
position: "top",
defaultPageSize: 20
}
},

}, "rtGrid");
rtGrid.startup();
} else {
rtGrid.setStructure(enhancedGridLayout);
rtGrid.setStore(dataStore);
rtGrid.currentPage(1);
rtGrid.render(dataStore);
rtGrid.startup();
}
dojo.connect(rtGrid, "onRowClick", function(e) {
dataStore.fetch({
query: {},
onComplete: function(items) {
var resArray;
dataStore.objectStore.get().then(function(result) {
resArray = result;
});
}
});
});
});
}

最佳答案

更新的答案

最初我假设您使用 JsonRest,但现在我看到您使用 Memory 对象来填充数据网格。内存实例具有属性 data 及其包含的数据数组。您可以直接在代码中访问它。

    grid.on("RowClick", function (e) {

var data = this.store.objectStore.data;

})
});

关于javascript - 有没有办法读取dojo Objectstore并将其转换为JS数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com