从查询中不填充的dojo 1.8数据网格

时间:2016-11-16 10:31:50

标签: datagrid dojo

我想创建基于对服务器的查询填充的datagrid

我的代码是

require(["dojo/dom", "dojo/_base/array", "dojo/dom-construct", "dojo/domReady!", "dojox/grid/DataGrid", "dojo/data/ObjectStore"],
        function (DataGrid, ObjectStore, dom) {

            var formQuery;
            require(["dojo/dom-form"], function (domForm) {
                formQuery = domForm.toQuery("form-filter");
            });

            var query = url + '?' + formQuery;
            console.log(query);

            var myStore;
            require(["dojo/store/JsonRest"], function (JsonRest) {
                myStore = new JsonRest({target: query});
            });


            grid = new DataGrid({
                store: dataStore = new ObjectStore({objectStore: myStore}),
                structure: [
                    {name: "ID", field: "id", width: "25%"},
                    {name: "Task-predmet", field: "subject", width: "25%"},
                    {name: "Dodavatel", field: "contractorCompany", width: "10%"},
                    {name: "Stav", field: "status", width: "10%"},
                    {name: "Termin", field: "deadline", width: "10%"},
                    {name: "Vytvorene", field: "created", width: "10%"}
                ]
            }, "result-table-contractor-tasks-filter"); // make sure you have a target HTML element with this id
            grid.startup();

查询是 http://localhost:8080/path?deadlineFrom=2015-11-15&deadlineTill=2016-11-15&createdFrom=2015-11-15&createdTill=2016-11-15

并返回此

{ “代码”:200, “状态”: “成功”, “数据”:[{ “ID”:1, “contractorCompany”: “最佳”, “状态”: “OTV”, “期限”: “2016年11月4日”,“主题”:“”,“创建”:“2016年11月3日下午1:11:22”},{“id”:3,“承包商公司”:“最佳”,“状态” :“OTV”,“截止日期”:“2016年11月14日”,“主题”:“a”,“创建”:“2016年11月14日下午2:37:15”}}}

但数据网格没有渲染,我不明白为什么。你能帮我么?我正在使用dojo 1.8

1 个答案:

答案 0 :(得分:1)

因为dojox模块是实验性的,并且网格是deprecated,我可以建议使用SitePen的当前dgrid吗?它正在积极开发,并附带一个随附的库dstore,其中包含Request'为此目的而制作的数据存储。

否则,如果您仍然对使用dojox / DataGrid感兴趣,请查看以下文章:https://www.sitepen.com/blog/2008/11/21/effective-use-of-jsonreststore-referencing-lazy-loading-and-more/