'dgrid'对象不支持此操作;在尝试渲染列时

时间:2015-06-09 19:00:54

标签: dojo dgrid

我正在尝试使用dgrid渲染网格。当我尝试它时,在尝试创建列时抛出错误。我完全按照这个例子,所以我无法弄清楚出了什么问题。任何帮助表示赞赏。

onPostExecute()

尝试OnDemandGrid

        require(["dojo", "dojo/dom", "dojo/_base/array", "dijit/registry", "dojo/store/Memory", "dgrid/Grid", "dojo/domReady!"],
       function (array, Grid, dom, dojo, registry, Memory, On) {
           var xmlhttp = new XMLHttpRequest();
           xmlhttp.open("GET", "http://localhost:5944/Home/GetData", true);
           xmlhttp.send();
           xmlhttp.onreadystatechange = function () {
               if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                   data = JSON.parse(xmlhttp.responseText);
                   GridStore = new Memory({ data: data, idProperty: "_id" });
                   CreateGrid();

               }

           }



           CreateGrid = function () {
               var columns = {
                   _id: { label: "ID" },
                   _SectionID: { label: "SpecID" },
                   _name: { label: "Name" },
                   _number: { label: "Number" },
                   _description: { label: "Description" },
                   _url: { label: "URL" }
               };

               var grid = new Grid({ columns: columns }, 'editGrid');
               grid.renderArray(GridStore);

           }

2 个答案:

答案 0 :(得分:1)

renderArray期望收到一个名称所暗示的数组,而不是商店,所以这可能是造成错误的原因。

如果您正在使用商店,那么您可能希望使用dgrid/OnDemandGrid或混合使用dgrid/extensions/Pagination,并设置store属性(假设为dgrid 0.3;如果您'重新使用0.4,你应该使用dstore并设置collection属性。)

请查看“网格和商店”教程,了解您使用的任何版本,0.30.4

答案 1 :(得分:0)

我正在拉入另一个包裹,导致网格类型不正确。