0

我正在尝试使用 AMD 样式创建增强网格,但面临问题。我为 dojo 1.7.1 创建了一个自定义构建

Enhancedgrid 的代码没有给出任何 javascript 错误。我正在使用的代码是:

<script data-dojo-config="async: true" src='./dojo/dojo.js'></script>
<script data-dojo-config="async: true" src='./dojo/mydojo.js'></script>
<script>

var dojoConfig = {
    baseUrl: "./",
    tlmSiblingOfDojo: false,
    packages: [
        { name: "dojo", location: "dojo" },
        { name: "dijit", location: "dijit" },
        { name: "dojox", location: "dojox" }
    ]
};

define(["dojox/grid/EnhancedGrid","dojo/data/ItemFileWriteStore"], function(EnhancedGrid,ItemFileWriteStore){
        /*set up data store*/
        var data = {
          identifier: 'id',
          items: []
        };
        var data_list = [
          { col1: "normal", col2: false, col3: 'But are not followed by two hexadecimal', col4: 29.91},
          { col1: "important", col2: false, col3: 'Because a % sign always indicates', col4: 9.33},
          { col1: "important", col2: false, col3: 'Signs can be selectively', col4: 19.34}
        ];
        var rows = 60;
        for(var i=0, l=data_list.length; i<rows; i++){
          data.items.push(dojo.mixin({ id: i+1 }, data_list[i%l]));
        }
        var store = ItemFileWriteStore({data: data});

        /*set up layout*/
        var layout = [[
          {'name': 'Column 1', 'field': 'id'},
          {'name': 'Column 2', 'field': 'col2'},
          {'name': 'Column 3', 'field': 'col3', 'width': '230px'},
          {'name': 'Column 4', 'field': 'col4', 'width': '230px'}
    ]];

        /*create a new grid:*/
        var grid = EnhancedGrid({
            id: 'grid',
            store: store,
            structure: layout,
            rowSelector: '20px'
         },  document.createElement('div'));

        /*append the new grid to the div*/
        dojo.byId("gridDiv").appendChild(grid.domNode);

        /*Call startup() to render the grid*/
    grid.startup();
});

</script>

是否可以指出问题区域。

4

1 回答 1

1

主要问题:

您使用定义而不是要求功能!代码没有被执行!

第二个问题:

您将 document.createElement('div') 传递给您的网格!但它需要一个 div-id !

这是一个工作的jsfiddle:

http://jsfiddle.net/f8Zm7/1/

不要仅使用<script>标记添加 javascript 代码,请使用

<script type="text/javascript"></script>

不要忘记关闭它。

jsfiddle 缺少 css 文件,所以不要指望一个好看的网格......

于 2013-04-12T08:12:47.403 回答