![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
Есть датагрид
<mx:AdvancedDataGrid id="adg" left="10" right="10" bottom="10" top="40" horizontalScrollPolicy="auto" alternatingItemColors="[#dadada, #eeeeee]" headerWordWrap="true" sortExpertMode="false"> <mx:columns> <mx:AdvancedDataGridColumn dataField="TP_NAME" headerText="Тарифный план" width="280"/> <mx:AdvancedDataGridColumn dataField="DATE_FROM" headerText="Начало продаж" width="140"/> <mx:AdvancedDataGridColumn dataField="DATE_TO" headerText="Конец продаж" width="140"/> </mx:columns> </mx:AdvancedDataGrid>
var arr:ArrayCollection = new ArrayCollection();
for each(var x:XML in myXML.data.children()){
arr.addItem({
TP_NAME:x.TP_NAME,
DATE_FROM:x.DATE_FROM,
DATE_TO:x.DATE_TO
});
}
adg.dataProvider = arr;
ошибка возникает при парсинге даты. В чем может быть проблема? |
|
|||||
|
Modus ponens
|
А где вы видите у obj1 свойство date?
Даже если оно там есть, то сказать в чем ошибка вам никто не сможет, потому что неизвесно чему оно равно. Кроме того, свойства со строчной, для таких операций используйте valueObject'ы со строгой типизацией, и храните свойство date как Date или Number - в зависимости от того, что нужнее, это крайне непродуктивно заниматься парсингом датапровайдера каждый раз, когда нужно таблицу отсортировать. И не используйте выражения, которые нужно пересчитывать в условии for / for-each и т.п.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
Да, я там ошибся obj1.DATE_FROM и obj2.DATE_FROM
Вот эта private function sortDate(obj1:Object, obj2:Object):int
{
var d1:Number = (new Date(Date.parse(obj1.DATE_FROM))).getTime();
var d2:Number = (new Date(Date.parse(obj2.DATE_FROM))).getTime();
if(d1 < d2) {
return -1;
} else if(d1 == d2) {
return 0;
}
return 1;
}
Цитата:
Последний раз редактировалось Bruiser; 14.07.2009 в 15:54. |
|
|||||
|
Modus ponens
|
свойства со строчной:
obj1.DATE_FROM ----> obj1.dateFrom valueObject'ы со строгой типизацией public class SomeValueObject { public var dateFrom:Date; public var dateTo:Date; public var name:String; public function SomeValueObject(dateFrom:Date, dateTo:Date, name:String) { super(); this.dateFrom = dateFrom; this.dateTo = dateTo; this.name = name; } }
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
А как правильно парсить Date из строки?
Я делаю вот так И в итоге не получается Понял, что если поменять формат числа, то все норм Что нужно сделать, чтобы можно было нормально парсить с точками? Последний раз редактировалось Bruiser; 16.07.2009 в 16:45. |
|
|||||
|
Modus ponens
|
Избыточно, и не должно компилироваться, должно быть так:
Заменить точки - слешами - RegExp вам в руки... ну или напишите, в каком формате вам даты отдают. А еще лучше - отпинать умника, который туда точки поставил, есть стандарты, как дату записывать, а за самодеятельность приходится платить ![]()
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
Сделал вот так
var DATE_FROM:String = "01.12.2008";
var arr:Array = DATE_FROM.split(".");
this.DATE_FROM = new Date(arr[2],arr[1]-1,arr[0]);
Хотя формат такой стоит <mx:DateFormatter id="dateFormat" formatString="DD.MM.YYYY" />
<mx:AdvancedDataGrid id="adg" left="10" right="10" bottom="10" top="40" horizontalScrollPolicy="auto" alternatingItemColors="[#dadada, #eeeeee]"
headerWordWrap="true" sortExpertMode="false">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="DATE_FROM" headerText="Начало продаж" width="140" formatter="{dateFormat}"/>
<mx:AdvancedDataGridColumn dataField="DATE_TO" headerText="Конец продаж" width="140" formatter="{dateFormat}"/>
</mx:columns>
</mx:AdvancedDataGrid>
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
Неужели никто никогда не сталкивался?
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 146
|
2008 год отображается как 300, а 2009 год - 400
Последний раз редактировалось Bruiser; 20.07.2009 в 18:30. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|