Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.11.2008, 09:40
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 1  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
По умолчанию Заполнить DataGrid по XML

Здравствуйте, возникли проблемы с заполнением DataGrid данными, полученными из XML файла, вот его структура:
Код:
<schedule>
       <day name="Понедельник">
               <lesson>
                     <group name="group1" /> 
                     <auditory name="aud1" /> 
              </lesson>
              <lesson>
                     <group name="group2" /> 
                     <auditory name="aud2" /> 
              </lesson>
        </day>
        <day name="Вторник">
              <lesson>
                     <group name="group1" /> 
                     <auditory name="aud1" /> 
              </lesson>
              <lesson>
                     <group name="group2" /> 
                     <auditory name="aud2" /> 
              </lesson>
        </day>
        .....
  </schedule>
Нужно по этому делу сформировать расписание в DataGrid.
Вот код компонента:
Код:
<mx:DataGrid xmlns:mx="http://www.adobe.com/2006/mxml" initialize="onInitialize(event)" draggableColumns="false" sortableColumns="false">
 <mx:Script>
 <![CDATA[ 
		import mx.controls.dataGridClasses.DataGridColumn;
		import mx.collections.ArrayCollection;
		import mx.controls.Alert;
			[Bindable]
			private var nodes:XMLList;
			[Bindable]
			private var lessons:Array = new Array();
         	[Bindable]
      		public var initDG:ArrayCollection;
      		
			private function onInitialize(evt:Event):void
			{
				var loader:URLLoader = new URLLoader();
				loader.addEventListener(Event.COMPLETE,onLoaded);
				try
				{
					loader.load(new URLRequest("../assets/schedule.xml"));
				}
				catch(e:Error)
				{
					Alert.show("Произошла ошибка при загрузке данных");
				}
				function onLoaded(event:Event):void
				{
					nodes = XMLList(loader.data);
					fillGrid(nodes);
				
				}
			}	
			private function fillGrid(nodes:XMLList):void
			{
				var cols:Array = new Array();
				for each(var day:XML in nodes.children())
				{
					var column:DataGridColumn = new DataGridColumn();
					column.dataField = day.@name;
					cols.push(column);
					for each(var lesson:XML in day.*)
					{
						items.push(lesson.group.@name);
					}
				}
				this.columns = cols;
			}
	

  ]]> 
  </mx:Script>
  </mx:DataGrid>
Ну понятно, что я делаю: гружу XML и сую в грид колонки с именем дня. А как заполнить каждую колонку нужными данными lesson? (в каждой клетке должны быть номер группы и аудитория, ну пока можно просто что то одно...) Может как то переорганизовать структуру XML, чтобы было более удобно? Подскажите плиз...

Старый 28.11.2008, 16:19
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 2  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
у меян в дневнике есть запись насчет загрузки данных из xml в datagrid
__________________
на каком языке вы пишите?
а на каком нужно?

Старый 28.11.2008, 17:26
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 3  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
В теме "DataGrid и LabelFunction" я конкретизировал вопрос, если не трудно, посмотрите пожалуйста...

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:38.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.