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

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

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

Регистрация: Mar 2009
Сообщений: 17
По умолчанию Динамический Accordion и DataGrid

Идея такая. Считывается с БД сколько существует групп и делается чтолько же вкладок accordion, а каждая вкладка заполняется dataGrid.

Проблема не могу корректно передать в dataGrid itemRender. Как это сделать.
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
	pageTitle="Student"
	creationComplete="init()" 
	xmlns:comp="components.*" 
	width="416">
 
	<mx:Script>
		<![CDATA[
			import valueObjects.Student;
			import valueObjects.Group;
			import mx.collections.ArrayCollection;
			import mx.rpc.events.ResultEvent; 
			import mx.rpc.events.FaultEvent; 
			import mx.controls.Alert;
			import mx.containers.VBox;
			import mx.controls.DataGrid;
			import mx.controls.dataGridClasses.DataGridColumn;
 
			[Bindable]
			public var stud:Student;
 
			[Bindable]
			public var group:Group;
 
			[Bindable]
			public var dataGr:DataGrid;
 
			[Bindable]
			public var groupData:ArrayCollection;
 
			[Bindable]
			public var studData:ArrayCollection;
 
			private function init():void{
				doGet.send();
				getGroup.send();
				stud = new Student();
				group = new Group();	
			}
 
 			private function resultHandler(event:ResultEvent):void{
				studData = new ArrayCollection();
				var studResultData:ArrayCollection = event.result.students.student;
				var resultLength:Number = studResultData.length;
				for (var i:Number = 0; i < resultLength; i++){
					var tempObject:Student1 = new Student1();
					tempObject.id = studResultData.getItemAt(i).partyId;
					tempObject.name = studResultData.getItemAt(i).firstName;					
					studData.addItem(tempObject);
				}
			}
 
			private function resultGroupHandler(event:ResultEvent):void{
				groupData = new ArrayCollection();
				var groupResultData:ArrayCollection = event.result.groups.group;
				var resultLength:Number = groupResultData.length;
				for (var i:Number = 0; i < resultLength; i++){
					var tempObject:Group = new Group();
					tempObject.groupId = groupResultData.getItemAt(i).groupId;
					tempObject.courseName = groupResultData.getItemAt(i).courseName;
					groupData.addItem(tempObject);
 
//Создание элемента для accordian					
					var vbox:VBox = new VBox();
                                        vbox.label = tempObject.courseName;
                                        vbox.percentWidth = 416;
                                        vbox.percentHeight = 451;
 
//Создание dataGrid                    
                                        dataGr = new DataGrid();
                                        var dgcolumns:Array = new Array();
					var dgcolumn1:DataGridColumn = new DataGridColumn();
 
                                        dataGr.percentWidth = 416;
                                        dataGr.percentHeight = 451;
                                        dataGr.dataProvider = studData;
                                        dataGr.columns = dgcolumns;
 
//Необходимо чтоб dataGrid состоял из itemRenderer="components.EmployeeRenderer", таким образом оно не работает ((
                                        var employeeRenderer:ClassFactory = new ClassFactory(EmployeeRenderer);
                                        dgcolumn1.itemRenderer = employeeRenderer;
					dgcolumns.push(dgcolumn1)
 
                                        vbox.addChild(dataGr);
 
                                        accordion.addChild(vbox);
				}
 
			}
 
			private function faultHandler(event:FaultEvent):void{ 
				Alert.show("Where was a problem.","Error"); 
			} 
		]]>
	</mx:Script>
 
  	<mx:HTTPService id="doGet" 
  		url="http://localhost:8080/bimportal/control/getFlexStudent" method="POST"
		result="resultHandler(event)"
		fault="faultHandler(event)"/>
 
	<mx:HTTPService id="getGroup" 
  		url="http://localhost:8080/bimportal/control/getFlexGroup" method="POST"
		result="resultGroupHandler(event)"
		fault="faultHandler(event)"/>
 
	<mx:Accordion id="accordion" width="414" height="451">
	</mx:Accordion>
 
</mx:Application>


Последний раз редактировалось Anaza; 08.04.2009 в 11:50.
Создать новую тему   Часовой пояс GMT +4, время: 21:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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