2015-06-22 3 views
0

Я пытаюсь получить работу gridx. Я начинаю с жестко заданных данных и позже перейду к массиву данных json. Когда я запускаю код ниже, все, что я получаю, это заголовки. Я моделировал код после образцов Grid Playgound. Я думал, это может быть потому, что я использовал Store() вместо Memory(). Тем не менее, когда я использую «var store = new Memory ({«, я больше не получаю заголовки ...dojo gridx не находит данные в хранилище данных

Прошло много времени в Интернете, но большинство примеров, кажется, принимают совсем немного уже существующие знания для gridx

Вот мой код: <% @ язык страница = "Java" CONTENTTYPE = "текст/html; кодировка = ISO-8859-1" pageEncoding = "ISO-8859-1. «%>

<title>testSelect</title> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<script type="text/javascript" 
    data-dojo-config="isDebug: true, async: true, parseOnLoad: true" 
    src="dojo/dojo/dojo.js"></script> 

<script type="text/javascript"> 
require(
[ "dojo", "dojo/parser" ], 
// Callback function, invoked on dependencies evaluation results 
function(dojo) { 
    dojo.ready(function() { 
    }); 
}); 
</script> 

<script type="text/javascript"> 
require([ 
    "gridx/Grid", 
    "gridx/core/model/cache/Sync", 
    "gridx/modules/VirtualVScroller", 
    "gridx/modules/ColumnResizer", 
    "gridx/modules/extendedSelect/Row", 
    "gridx/modules/SingleSort", 
    "dojo/store/Memory", 
    "dojo/domReady!" 
], function(Grid, Cache, 
    VirtualVScroller, ColumnResizer, SelectRow, 
    SingleSort, Store){ 
    //Create store here... 
    //var store = new Store(...); 
    var store = new Store({ 
    data: [ 
      {id: "1", name:"name1", genre:"genre1", composer:"composer1", year:"1952"}, 
      {id: "2", name:"name2", genre:"genre2", composer:"composer2", year:"1953"} 
      ] 
    }); 

    var grid = new Grid({ 
      store: store, 
      cacheClass: Cache, 
      structure: [ 
        { id: "column_1", field: "name", name: "Name", width: "50%" }, 
        { id: "column_2", field: "genre", name: "Genre" }, 
        { id: "column_3", field: "composer", name: "Composer" }, 
        { id: "column_4", field: "year", name: "Year" } 
      ], 
      selectRowTriggerOnCell: true, 
      modules: [ 
        VirtualVScroller, 
        ColumnResizer, 
        SelectRow, 
        SingleSort, 
      ] 
    }); 
    grid.placeAt("gridContainer"); 
    grid.startup(); 
}); 
</script> 

</head> 
<body class="claro"> 
<div id="gridContainer"></div> 
</body> 
</html> 

Любая помощь будет принята с благодарностью!

+0

Любые идеи? Этот код кажется довольно хрупким, почти любое изменение, которое я делаю, заканчивается без вывода (я теряю заголовки из структуры). –

ответ

0

Это то, что я работаю ...

constructor : function(dataIn) { 
    this.store = new ObjectStore({ // instance attribute 
    objectStore : new Memory({ 
     data : dataIn 
    }) 
    }); 
...rest of constructor... 

сочетание ObjectStore и памяти, казалось, работали.

0

Вы загружали файл css Gridx? Я скопировал ваш код в скрипке, и он работает: http://jsfiddle.net/5ynqhk2L/2/

Единственное, что я добавил, это Gridx.css.

<link rel="stylesheet" type="text/css" href="http://oria.github.io/gridx/build/gridx/resources/claro/Gridx.css"> 

 Смежные вопросы

  • Нет связанных вопросов^_^