Тема: Таблица
Показать сообщение отдельно
Старый 08.09.2009, 15:45
snobb вне форума Посмотреть профиль Отправить личное сообщение для snobb Найти все сообщения от snobb
  № 12  
Ответить с цитированием
snobb
 
Аватар для snobb

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

Схема одна из самых простых:
Код AS1/AS2:
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>
Потом примерно так:

Код AS1/AS2:
// Создаём 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");
И цикл убивает все лучшие надежды. При загрузке строк до тридцати, все вроде живет. Дальше чем больше - тем хуже.... Код взят из открытого и доработан чуть-чуть под себя.