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

主な問題:

require 関数の代わりに define を使用します。コードが実行されない!

2番目の問題:

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 に答える