Показать сообщение отдельно
Старый 21.01.2010, 05:54
don_Lino вне форума Посмотреть профиль Отправить личное сообщение для don_Lino Найти все сообщения от don_Lino
  № 1  
Ответить с цитированием
don_Lino

Регистрация: Jan 2010
Сообщений: 13
По умолчанию вопрос по AdvancedDataGrid, dataProvider и itemRenderer

Нужно что бы в столбце Task и Worker были данные из SimpleFlatData.as, а к adcg1:AdvancedDataGridColumnGroup применить itemRenderer который зарисовывать к-во ячеек данной группы, беря значение к-ва (Duration) в SimpleFlatData.as
Подскажите как это можно реализовать?
trainingProject.mxml :
Код AS3:
?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
<mx:Script>
	<![CDATA[
		import mx.controls.Button;
		import mx.controls.AdvancedDataGrid;
		import MyGrpdDG;
 
	private function init():void
	{ 
		var my_GrpdDG: MyGrpdDG = new MyGrpdDG();
		var myDG: AdvancedDataGrid = new AdvancedDataGrid();
		myDG = my_GrpdDG.createDG();
		addChild(myDG);
	}
	]]>
</mx:Script>
</mx:Application>
SimpleFlatData.as :
Код AS1/AS2:
[Bindable]
private var dpFlat:ArrayCollection = new ArrayCollection([
  {Task:"Task 1", Worker:"Worker 1", Duaration:2}, 
  {Task:"Task 2", Worker:"Worker 2", Duaration:4},  
  {Task:"Task 3", Worker:"Worker 3", Duaration:4},  
  {Task:"Task 4", Worker:"Worker 1", Duaration:1},  
  {Task:"Task 5", Worker:"Worker 2", Duaration:3}, 
  {Task:"Task 6", Worker:"Worker 3", Duaration:2},  
  {Task:"Task 7", Worker:"Worker 1", Duaration:5}, 
  {Task:"Task 8", Worker:"Worker 2", Duaration:4},  
  {Task:"Task 9", Worker:"Worker 3", Duaration:4}, 
  {Task:"Task 10", Worker:"Worker 2", Duaration:3}
]);
и MyGrpdDG.as :
Код AS1/AS2:
package
{
	import mx.collections.*;
	import mx.controls.*;
	import mx.controls.advancedDataGridClasses.*;
	import mx.core.UIComponent;
	import mx.collections.ArrayCollection;
	include "SimpleFlatData.as";
 
	public class MyGrpdDG extends UIComponent
	{
		public function MyGrpdDG():void
		{
		}
 
		public function createDG():AdvancedDataGrid
		{
			var ac:ArrayCollection;
			var gc:GroupingCollection;
			var ad:AdvancedDataGrid;
 
			gc = new GroupingCollection();
			gc.source = ac;
 
			var grouping:Grouping = new Grouping();
			grouping.fields = new Array(new GroupingField("Date"));
			gc.grouping = grouping;
 
			var column1:AdvancedDataGridColumn = new AdvancedDataGridColumn("Задача");
			column1.dataField = "Task"; 
			var column2:AdvancedDataGridColumn = new AdvancedDataGridColumn("Сотрудник");
			column2.dataField = "Worker";
 
			var adcg1:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup("Время");
			adcg1.dataField = "Time";
			var i:int;
			var columnD:AdvancedDataGridColumn = new AdvancedDataGridColumn("");
			for ( i = 0; i < 23; i++)
			{
					columnD = new AdvancedDataGridColumn(i+"");
					columnD.width = 25;
					columnD.sortable = false;
					adcg1.children.push(columnD);
			}
 
			ad = new AdvancedDataGrid();
			ad.groupedColumns = new Array(column1, column2, adcg1);
			return(ad);
		}
 
	}
}