Звучит так, будто вы хотите что-то похожее на календарь Outlook. Вам нужен столбец для каждого дня недели и строка для каждого часа дня.
DataGrids отображает элементы коллекции, связанные с их свойством dataProvider, в виде строк. Однако кажется, что ваша ArrayCollection содержит объекты-значения, которые соответствуют событию, которое происходит в определенное время, а не время, которое содержит событие.
Я бы написал другой объект-значение для представления времени суток. Этот объект будет содержать элементы данных, соответствующие каждому дню недели, которые будут содержать имя класса.
public class TimeOfDayVO {
public var monday:String;
public var tuesday:String;
public var wednesday:String;
public var thursday:String;
public var friday:String;
}
Затем напишите функцию, которая будет создавать один из этих объектов для каждого часа дня.
<code>public function createTimeOfDayArray(oldArray:ArrayCollection) {
for (var hour:int = 0; hour < 24; hour++) {
var timeVO:TimeOfDayVO = new TimeOfDayVO();
newArray.addItem(timeVO);
}
for each (obj in oldArray) {
switch (obj.day) {
case "Monday":
newArray[obj.time].monday = obj.classname;
break;
//repeat for each day
}
}
}
Привязать newArray к вашей DataGrid вместо старого массива.