Поскольку я пытаюсь загрузить модули с созданием сетки/сетки, мой скрипт переходит в это странное место, где ошибки обрабатываются кодом, который выглядит как gobbledy gook. Если я создаю сетку без атрибута модулей, строки отображаются просто отлично. Я кодирую с 6.1 в рациональном разработчике приложений 9.1, используя доджо 1.9, который (поставляется с RAD). мой додзё включает указаны так:Модули gridx не загружаются в моей среде рационального/рабочего света
function dojoInit() {
require([ "dojo/ready", "dojo/parser", "dojox/mobile", "dojo/dom",
"dijit/registry", "dojox/mobile/ScrollableView",
"dojox/mobile/Heading", "dojox/mobile/ScrollablePane",
"dojox/mobile/Pane", "dojox/mobile/TextArea", "dojox/mobile/ContentPane",
"dojo/Deferred", "dojo/store/Memory",
"gridx/Grid", "gridx/core/model/cache/Sync", "dojox/mobile/Container",
"gridx/modules/SingleSort"],
function(ready) { ...
Вот мои таблицы стилей ссылки:
<link rel="stylesheet" href="css/dojo.css" />
<link rel="stylesheet" href="css/claro.css" />
<link rel="stylesheet" href="css/document.css" />
<link rel="stylesheet" href="css/Gridx.css" />
<link rel="stylesheet" href="css/Gridx_rtl.css" />
я переехал CSS файлы из gridx/ресурсов/Claro/Gridx.css и в других местах в додзё библиотеку инструментальных средств к известному относительному местоположению, временно, чтобы исключить возможность невозможности разрешения файлов css. и я задаю только класс «claro» в div, где размещена эта сетка. нет никакой разницы в поведении сетки в любом случае.
Моя сетка создается следующим образом:
toStore=new dojo.store.Memory({ idProperty: 'PICYNO', data: resultSet });
toColumns=[
{ id: 'PICYNO', field: 'PICYNO', name: 'Cycle' , width: '80px' , editable: true },
{ id: 'PIDSC1', field: 'PIDSC1', name: 'Description' , width: '300px', editable: true },
{ id: 'PICYCS', field: 'PICYCS', name: 'Status' , width: '60px' , editable: true },
{ id: 'PPICSDJ',field: 'PPICSDJ', name: 'Date' , width: '80px' , editable: true },
{ id: 'PICYIT', field: 'PICYIT', name: 'Items' , width: '60px' , editable: true },
{ id: 'PICYLO', field: 'PICYLO', name: 'Locations' , width: '60px' , editable: true }
];
var cacheClass = "gridx/core/model/cache/Sync";
var tsGrid = new gridx.Grid({
id: 'idHeaderGrid',
cacheClass: cacheClass,
store: toStore,
// modules:[modules.SingleSort, modules.SelectRow],
// modules:[gridx.modules.SingleSort],
// modules:[gridx/modules/SingleSort],
// modules: [ SingleSort ],
// modules: [ Sort ],
structure: toColumns
});
tsGrid.placeAt('idGridContentPane');
tsGrid.startup();
если я закомментировать все строки, которые specifiy «модули:» как вы видите, то отображается сетка (но это некрасиво, как будто таблицы стилей weren» t применяется вообще.)
Если я попробую изменить вариант стандартного модуля сортировки, эта функция будет танком. Я знаю, это, вероятно, потому, что я не правильно определяю свою среду, но я не вижу, как это сделать.
Любые известные проблемы с любыми версиями, которые я использую? любое предложение приветствуется.
--------- Обновлено ------------
я прогрессировала до такой степени, что я могу отобразить сетку, но форматирование все еще выключен.
Основываясь на результатах экспериментирования с проектом без работы, когда я смог материализовать сетку с модулями, а также осознал, что с любым типом проекта (веб-или рабочей подсветкой) я смог разрешить додзё и Gridx объекты, даже если ресурсы javascript настроены по-разному, я решил попробовать локальную инструкцию require, чтобы указать модули dojo в непосредственном контексте, и это сработало. Первоначальная конфигурация dojo в рабочем свете была обновлена в объекте main.js, который автоматически генерируется приложением для подсветки. это выглядело так:
function wlCommonInit() {
require([ "layers/core-web-layer", "layers/mobile-ui-layer" ], dojoInit);
}
function dojoInit() {
require([ "dojo/ready", "dojo/parser", "dojox/mobile", "dojo/dom",
"dijit/registry", "dojox/mobile/ScrollableView",
"dojox/mobile/Heading", "dojox/mobile/ScrollablePane",
"dojox/mobile/Pane", "dojox/mobile/TextArea", "dojox/mobile/ContentPane",
"dojo/Deferred", "dojo/store/Memory", "dojox/mobile/Container",
"gridx/modules/SingleSort", "gridx/modules/ColumnResizer", "gridx/modules/RowHeader"
],
function(ready) {
ready(function() {
ccInit();
});
});
}
я удалил объявления модуля из main.js и добавил их в приложении ccInit.js, где создается сетка, например:
function populateGrid() {
require([
'dojo/store/Memory',
'gridx/Grid',
'gridx/core/model/cache/Sync',
'gridx/modules/SingleSort',
'gridx/modules/ColumnResizer',
'gridx/modules/RowHeader'
], function(Store, Grid, Cache, Sort, ColumnResizer, RowHeader) {
. . .
var tsGrid = new gridx.Grid({
id: 'idHeaderGrid',
cacheClass: Cache,
store: toStore,
modules: [ Sort, ColumnResizer, RowHeader ],
structure: toColumns,
selectRowTriggerOnCell: true
});
...
Сетка созданный успешно, когда он создается в контексте немедленного требования, как показано. Многие вызовы dojo и даже сетка без модулей будут работать, если я использую немедленный подход.
Силы все еще испорчены. Заголовки столбцов пусты, и таблица не выглядит как сетка в стиле кларо. Я уверен, что я правильно настроил css в заголовке html (используя мой рабочий веб-проект в качестве модели). Есть ли какая-либо инициализация фонаря или наложение «скинов», которое это испортило?
Благодарим за любые комментарии.
--- обходное решение относится ко всем классам, локально.
Я решил проблему со стилями, создав gridx.css в общей папке \ css, а затем отредактировал ее, заменив каждый @import копией/вставкой импортированного источника css. Таким образом, gridx.css - это слияние всего исходного кода со всеми импортируемыми. Я указываю на то, что css \ gridx в моей ссылке заголовка, и я получаю разумные результаты.
Итак, я должен был явно требовать классы gridx в пользовательской функции, а не в инструкции dojo require в main.js. И мне пришлось объединить все стили gridx и ссылаться на них локально. Проблема, когда gridx.css и другие таблицы стилей не разрешаются с помощью относительного пути, включает в себя то, что точка для инструментария dojo выглядит как ошибка. Эти таблицы стилей, кажется, должны быть загружены в время выполнения сгенерированного сервером, о чем свидетельствуют сообщения консоли, которые выглядят так:
Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден) http://myWLdevServer.mycomputer.local:10080/JustGridx/apps/services/preview/JustGridx/common/0/default/dojo/gridx/resources/claro/Gridx.css
Если разработчик должен сделать какую-то конфигурацию сервера, чтобы указать на эти файлы CSS, я не вижу его.
Я оставляю это сообщение как нерешенное, если кто-то со мной согласен, что это ошибка в худшем случае или не интуитивно понятна и должна быть задокументирована в лучшем случае.
Возможно ли, что вы можете поделиться проектом Worklight или создать тестовый пример с помощью gridx, показывающего проблему, и поделиться этим? –
Это было хорошее предложение, потому что, когда я тестировал это в новом веб-проекте, код действительно работает. я вижу, что способ размещения/ссылки инструментария dojo различен между прожектором веб-проектов в RAD. я разберусь с этим углом и обновляю этот поток. Благодарю. – user3208130
Затем я возвращаюсь к своему первоначальному предложению, которое должно было реализовать gridx в небольшом проекте тестового примера. Под этим я имел в виду фактически новый проект Worklight ..., который демонстрирует проблему, а не ваш полномасштабный проект, который имеет ее. –