PDA

Просмотр полной версии : Таблица


snobb
16.04.2009, 16:50
Существует необходимость в один из роликов поместить табличные данные (прайс). При изготовлении таблоида из xls>pdf>ai>swf вес загружаемой swf-ки превышает желаемые параметры в несколько раз. Может знает кто, есть ли способ загрузить подобного типа данные попроще (ну, например через xml)? пусть даже будут отсутствовать линии, но табуляция должна присутствовать строгая (при учете что строки в столбцах разные по длине).
Спасибо.

Я пробовал грузить xml правленный через DW - что-то не получается с табуляцией, все криво... а внедрять текст в тело файла, потом <textformat tabStops = 'i, q'> не пробовал, но наверное очень муторно, я так подозреваю...

Kuruki
16.04.2009, 17:07
В Excel можно экспортировать данные в xml, правда ему понадобится xml-схема таблицы (XML Schema). Потом во флэше сгенерировать таблицу на основании этой xml, например используя DataGrid.

snobb
16.04.2009, 17:19
Вот с этим у меня полный П. DataGrid это из компонентов? Извиняюсь, никогда не использовал... И XML Schema делается непосредственно во Flash? С радостью научусь, только подскажите с чего начать

Добавлено через 3 минуты
Кстати, пробовал открывать xml, сделанный в Excel в DW. Там столько всякого непонятного мне, что страшно становится...

Kuruki
16.04.2009, 17:34
Кстати, пробовал открывать xml, сделанный в Excel в DW. Там столько всякого непонятного мне, что страшно становится...
Чтобы было понятно все нужно строить его на основании xml-схемы. Пишется в любом текстовом редакторе, информации о ней в сети полно.
Советую также почитать справку на эту тему в Excel.
DataGrid - компонент. Про него можно узнать в справке по флэшу, которая имеется также на русском, ищите на форуме...

snobb
16.04.2009, 23:56
Клево. Только по тому что я нашел можно спокойно биться головой о стену с ускорением. DataGrid я может и настроил бы, но не ясно что к чему в Bindigs и Schema прописывать, к тому-же я использую CS4, но пользуюсь пока AS2. Если не сильно затруднит, можно увидеть какой-нибудь исходник (xml из xls + fla с таблоидом). Был бы безмерно признателен

ОльгаЮрьевна
17.04.2009, 11:32
посмотрите ссылочку - может пригодится?
http://www.flashblog.ru/?p=89

snobb
19.04.2009, 12:31
посмотрите ссылочку - может пригодится?

Спаибо. Хоть какой-то, но выход из положения. Я не мог увязать tabStobs с данными из хмл. Уже замутил на примере - намана...
Конечно, я возможно уже занудствую, но может кто подскажет где посмотреть про DataGrid и xml из продуктов Ofice?
Очень хочеться границы лицезреть (сори, это не мой бзик)... :drinks:

Добавлено через 23 часа 45 минут
Ну, коли не поможете с DataGrid, так объясните, почему вдруг при запуске (ЛОКАЛЬНО!!!) конечного файла, плейер начинает тупить и кричать, что код заставляет плейер тормозить и предлагает этот код вырубить... размер загружаемого xml 175kb, всего около 900 строк?

snobb
23.04.2009, 14:10
Итак, с XML Schema все более-менее понятно. Но вот с настройками Datagrid я так и не смог разобраться... Вот здесь http://livedocs.adobe.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00000435.html есть пример, но у меня ничего в DataGrid не грузится. Что я делаю не так, не знаю.
Может кто-нибудь все-таки скинет пример как это делается, с исходниками? Спасайте, очень уж нужно

Добавлено через 34 минуты
А с бякой при загрузке XML в текстовый блок я так и не разобрался... Тупит жутко. Может из-за мегастрочности умноженной на 3 табуляции в каждой из них?

snobb
29.04.2009, 11:41
Спасибо огромное, господа. Так мне никто и не помог. Сам разобраться не успел... Отсюда потеря клиента и все вытекающие... Сорри, Ольга Юрьевна, Вам я искренне благодарен.

Много тем на форуме просмотрел, и убедился, что масса конкретно поставленных вопросов получает конкретно простой ответ - вали ты в рефрен. А есть люди не знающие английского (например учили другой язык). Предугадывая некоторых умников: А ActionScript 2.0 Components Language Reference на русском?
ФАК пустоват... Для чего мы все тогда здесь...

Ладно, горячусь просто... Кинте может кто название книги в которой про работу с компонентами толково рассказано. И на AS3 пора перелазить, а то как пещерник, ей богу...

ОльгаЮрьевна
29.04.2009, 13:09
вот кусочек конспекта по компанентам - может пригодится...
и все-таки ссылочка на английский help (http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00002475.html) на картиночке дерево и галочками отмечено (для примера компанента Button - но дерево для всех однотипно), то, что вас должно интересовать - там примеры... ну а язык... он-же технический... создать, использовать... :)

Mnilionic
28.08.2009, 22:10
нахно просто её показать? сделй жипег и делов
если нужно динамичные данные покажи, какая структура xml? на сколько сложная таблица? приведи пример.

snobb
08.09.2009, 15:45
В целом попытаюсь объяснить, что требовалось с самого начала... Человек дожен был иметь возможность самостоятельно выкладывать xml, зделанный из xls через схему, на сторону сервера.
Понятно, что в принципе было бы достаточно грузить обычный файл эксэл и вызывать его через линк, но челсу этого было мало... В принципе потом предполагалось делать нечто вроде базы данных (выделяем в DG позицию и видим картинку с описанием).

Схема одна из самых простых:

xml:
<table n="ПРАЙС НА ЗАПЧАСТИ" des="розница" des2="для постоянных клиентов">
<t n="Амортизатор рамы " des="30000" des2="27000"/>
<t n="Амортизатор рамы L J400B" des="23000" des2="18000"/>
<t n="Багажник горн., передний 26&quot; сталь, хром" des="15000" des2="13000"/>
<t n="Багажник горный, сталь, хром (26&quot;)" des="20000" des2="18000"/>
<t n="Багажник горный,AL ,серебристый, черный (26&quot;)" des="45000" des2="43000"/>
<t n="Багажник для складного вело.,(20&quot;),сталь, хром" des="7500" des2="7000"/>
<t n="Багажник для складного вело. (20&quot;),сталь, цинк" des="6500" des2="6000"/>
</table>


Потом примерно так:


// Создаём XML
my_xml = new XML();
// Игнорируем ненужные пробелы
my_xml.ignoreWhite = true;
// Отслеживаем загрузку xml
my_xml.onLoad = function(ok) {
if (ok) {
F_createTable();
}
};
z = my_xml.getBytesTotal();
x = my_xml.getBytesLoaded();

F_createTable = function () {
// Создаём css для управления стилями шрифтов
import TextField.StyleSheet;
var my_style:StyleSheet = new StyleSheet();
// Создаём стиль для главного заголовка
my_style.setStyle("title",{fontsize:'8px', color:'#000000', fontWeight:'bold', fontFamily:"Arial", textAlign:'left'});
// Создаём стиль для заголовков таблицы
my_style.setStyle("nameTable",{fontsize:'7px', color:'#990000', fontWeight:'bold', fontFamily:"Arial", textAlign:'left'});
// Создаём стиль для основного текста
my_style.setStyle("text",{fontsize:'6px', color:'#000000', fontFamily:"Arial", textAlign:'left'});
if (x<z) {
prilod.htmlText = "Загрузка данных...";
} else {
prilod.htmlText = "";
}
with (prilod) {
// Включаем поддержку html
html = true;
// Включаем многострочность
multiline = true;
// Включаем перенос строк
wordWrap = false;
// Применяем наш CSS
styleSheet = my_style;
htmlText = "<nameTable><textformat tabstops='[1,510,580]'>"+"<tab />"+my_xml.childNodes[0].attributes.n+"<tab />"+my_xml.childNodes[0].attributes.des+"<tab />"+my_xml.childNodes[0].attributes.des2+"</textformat></nameTable>";
//
var len = my_xml.childNodes[0].childNodes.length;
for (i=0; i<=len; i++) {
prilod.htmlText += "<text><textformat tabstops='[1,510,580]'>"+"<tab />"+my_xml.childNodes[0].childNodes[i].attributes.n+"<tab />"+my_xml.childNodes[0].childNodes[i].attributes.des+"<tab />"+my_xml.childNodes[0].childNodes[i].attributes.des2+"</textformat></text>";
}
}
};
my_xml.load("price/price.xml");


И цикл убивает все лучшие надежды. При загрузке строк до тридцати, все вроде живет. Дальше чем больше - тем хуже.... Код взят из открытого и доработан чуть-чуть под себя.

Mnilionic
09.09.2009, 21:24
пора переезжать в другую ветку форума. Здесь Вам скриптами маловероятно помогут.

snobb
13.09.2009, 21:31
Да, я уже заметил...