2013-04-12 27 views
0

我想創建使用AMD風格的增強網格,但面臨的問題。我爲dojo創建了一個定製版本1.7.1使用AMD風格創建dojo增強網格

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> 

有人指出問題區域。

+0

你創建id爲「gridDiv」一個div? –

+0

是以後在身體我有

Sandeep

回答

1

主要問題:

您使用定義的,而不是需要的功能!代碼不會被執行!

問題二:

您通過使用document.createElement( 'DIV')到您的網格!但它期望一個div-id!

這裏是一個工作的jsfiddle:

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

不要添加僅使用<script>標籤javascript代碼,使用

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

不要忘記將其關閉。

的的jsfiddle缺少css文件,所以不要指望一個漂亮的網格......

+0

感謝它現在在我的工作結束了。你可以請。確認這是否是AMD創建窗口小部件的風格。我避免使用dojo.require的動機是,我想要在http://grokbase.com/t/dojo/dojo-interest/11bs5jf64d/custom-build-including中介紹與增強型Grid的Filter插件關聯的模板文件的內聯擴展-CSS-和HTML的文件。你可以請。也展示了一些亮點。 – Sandeep

+0

你想做什麼?您是否想從增強型網格中創建自己的類並使用自定義類來實例化增強型網格?我不明白「模板的內聯擴展」是什麼,請解釋一下。創建窗口小部件不是實例化窗口小部件! –

+0

如果我不清楚,我很抱歉。讓我試着解釋一下:1)EnhancedGrid工作正常,你的善意幫助和jsfiddle 2)我已經添加了過濾插件到這個增強型網格3)使用過濾器,模板HTML文件被下載a)dojox/grid/enhanced/templates/FilterBar.html b)/dojox/grid/enhanced/templates/FilterDefPane.html 等等。4)鏈接http://grokbase.com/t/dojo/dojo-interest/11bs5jf64d/custom-build-including-css - 和 - html文件解釋如何讓他們內聯,我想實現相同的 – Sandeep