Jquery и Dojo DataGrid проблема - PullRequest
1 голос
/ 06 мая 2011

У меня проблема с загрузкой страницы, содержащей код додзё. На загруженной странице не отображается никакой информации.

Мой index.html, который загружает страницу, выглядит так:

<html>
 <head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js" djConfig="parseOnLoad: true">
//to fill
</script>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css"/>
    </head>
    <body>
    <div id="mainFrame">
<script type="text/javascript" >
$('#mainFrame').load('/Page.html');
</script>
</div>
    </body>
    <html>

Моя вторая страница содержит код для отображения DataGrid: Pahe.html

<html>
    <head>
    <link rel='stylesheet' type='text/css' href='http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojox/grid/resources/claroGrid.css'/>
       <script type="text/javascript" >
       dojo.require("dojox.grid.DataGrid");
       dojo.require("dojo.data.ItemFileReadStore");
       function prepare() {
          var data0 =[{FristName:'jean',LastName:'edu',Course:'english'}];
          var store0 = new dojo.data.ItemFileReadStore({
          data: {
          items: data0
          }
          });
          var grid0  = new dojox.grid.DataGrid({
          store: store0,
          structure: [
          {field: 'FirstName', name: 'FirstName', width:'auto'},
          {field: 'LastName', name: 'LastName', width:'auto'},
          {field: 'Course', name: 'Course', width:'auto'}
          ],
          rowsPerPage: 20,
          clientSort : true,
          rowSelector : '10px'
          }, "grid0");
          grid0.startup();
       }
       dojo.addOnLoad(prepare);
    </script>
    </head>
    <body>
    <div id="grid0"/>
    </body>
    </html>

Когда я запускаю этот код в браузере, я не вижу ничего. Тем не менее, я вижу с помощью инструмента Google Chrome Prospect, что браузер загружает dataGrid из Dojo ...

Я думаю, что это проблема с загрузкой jquery, потому что, если я добавлю код для загрузки сценария dojo в «Page.html», я смогу что-то увидеть ... Я рад, что что-то не так с JQuery и додзё ...

Не могли бы вы помочь мне решить это?

Заранее спасибо,

летучая мышь

Ответы [ 3 ]

0 голосов
/ 09 мая 2011

Я пошел искать документацию по API для загрузки JQuery, но она вызывает пустую страницу: -)

Я не совсем уверен, что именно он делает, особенно с элементами HEAD, но если он просто выполняет что-то вроде присвоения innerHTML, это не будет работать с загрузчиком кода Dojo или продолжающейся загрузкой CDN. Код Dojo, который вы, вероятно, ожидаете выполнить во время загрузки страницы.

0 голосов
/ 10 мая 2011

2 предложения:

1 - Вам может понадобиться CSS "базовой" сетки, импортированный для сетки додзё.

<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojox/grid/resources/Grid.css">

2 - Вам также может понадобиться установить высоту наСетка данных (в пикселях ... проценты не работают с сеткой данных).

0 голосов
/ 06 мая 2011

Возможно, просто подумайте вслух, но вы называете $ ('# mainFrame') встроенным в документе над соответствующим div "mainframe". Будет ли это работать? Я думаю, что js call должен находиться под разделом «мэйнфрейм» в документе.

Я бы попытался переместить этот вызов из «головы» и поместить его в теле где-нибудь после разделителя «мэйнфреймов».

...