добавить данные в таблицу данных додзё - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть пара вопросов, связанных с додзё.Во-первых, у меня есть пример, который я скопировал из интернета и запустил, и он отлично работает.Кстати, я работаю над веб-приложением в Visual Studio 2010. Оно работает нормально, но мой вопрос в том, что я использую URL-адреса (версия 1.5) с ajax.googleapis.com, и это работает, но как только я использую src =«/folder/dojo.js.uncompressed.js» с локальной копией (версия 1.7.1) в моей папке в веб-приложении не работает.Любые идеи по этому поводу.

Второй вопрос - использование примера сетки данных, но вместо жесткого кодирования значений для сетки данных;Я хочу передать результаты SQL-запроса из базы данных в сетку данных.У кого-нибудь есть идеи по этому поводу?

Вот код, показывающий попытку использовать локально сохраненный файл:

<title>The Simplest Dojo DataGrid Example of All Time</title>
<link rel="stylesheet" type="text/css"
   href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css" />

<link rel="stylesheet" type="text/css"
  href="/Styles/Grid.css" />

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

 </head>
 <body class="claro">
 <div style="width: 600px; height: 200px">
    <table id="billsGrid" dojoType="dojox.grid.DataGrid">
        <thead>
            <tr>
                <th field="number">Number</th>
                <th field="name">Name</th>
                <th field="position">Position</th>
                <th field="victories" width="180px">Super Bowl Victories</th>
            </tr>
        </thead>
    </table>
  </div>

  <script type="text/javascript"
    src="/Styles/dojo.js.uncompresses.js"
       djConfig="parseOnLoad:true"></script>

  <script type="text/javascript">
    dojo.require("dojox.grid.DataGrid");
    dojo.require("dojo.data.ItemFileReadStore");
  </script>

  <script type="text/javascript">
     dojo.ready(function () {
     var theGreatestTeamOfAllTime = {
        items: [{
            "number": "12",
            "name": "Jim Kelly",
            "position": "QB",
            "victories": "0"
        },
             {
                 "number": "34",
                 "name": "Thurman Thomas",
                 "position": "RB",
                 "victories": "0"
             },
             {
                 "number": "89",
                 "name": "Steve Tasker",
                 "position": "WR",
                 "victories": "0"
             },
        {
            "number": "78",
            "name": "Bruce Smith",
            "position": "DE",
            "victories": "0"
        }
           ],
        identifier: "number"
     };

     var dataStore =
    new dojo.data.ItemFileReadStore(
    { data: theGreatestTeamOfAllTime }
    );
    var grid = dijit.byId("billsGrid");
    grid.setStore(dataStore);
  });
  </script>

  </body>
  </html>

Это не работает с появлением ошибок jscript.

не удалось загрузить dojox / grid / DataGrid.js

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Вот шаги, за которыми я следую:

1) загрузить инструментарий dojo из http://dojotoolkit.org/download/

2) установите его с корнем вашего приложения. Обычно в корневом каталоге моего приложения у меня есть каталог с именем dojoroot, в котором я распаковываю набор инструментов dojo

3) в разделе html, head убедитесь, что ваши ссылки css указывают на локальный dojoroot. Для примера:

4) Убедитесь, что ваш djConfig установлен правильно: djConfig = { parseOnLoad: правда, baseUrl: "../../../dojoroot/dojo/" }; обратите внимание, что baseUrl важен - это каталог, в котором находится dojo.js

5) для включения dojo.js убедитесь, что путь указан правильно. например: Если есть ошибки, ваша вкладка Net в firebug покажет их - они обычно связаны с проблемами пути

1 голос
/ 25 февраля 2012

Чтобы заставить его работать локально, проверьте ваш djConfig и скрипт для dojo, чтобы убедиться, что пути правильные, особенно baseUrl

djConfig = {
            parseOnLoad: true,
            baseUrl: "../dojoroot/dojo/"
           }

ТАКЖЕ убедитесь, что вы включаете правильные таблицы стилей (все включает и таблицы стилей должны указывать на одну и ту же версию Dojo)

Изучите вкладку Net в firebug, чтобы увидеть ошибки в URL

относительно вашего второго вопроса, у dojo есть концепция хранилищ данных - это держатели данных на стороне клиента (javascript). Ваша серверная сторона может вернуть результат запроса в формате JSON (предпочтительно), XML или любом другом формате. Клиент (javascript / html) может использовать AJAX для извлечения этих данных и их отображения в сетке данных.

dojo имеет модные магазины, такие как queryreadstore, который поддерживает разбиение на страницы / отложенную загрузку

Хорошее место для начала - ночные тесты для додзё:

http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...