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

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

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

Регистрация: Oct 2009
Сообщений: 22
По умолчанию flex data binding

Доброго всем времени суток, прошу помочь с такой проблемой: суть проблемы, значит дергаю я процедуру Java, которая в свою очередь дергает функцию Oracle, выходным параметром которой является Clob, проблема в том что не могу прибиндить этот Clob к DataGrid, а вот и код проблемный

private function getData():void {
DC.addEventListener(ResultEvent.RESULT,resultHandler);
DC.addEventListener(FaultEvent.FAULT,faultHandler);
DC.getData();
}

private function resultHandler(eve:ResultEvent):void{
var data:Object = eve.message.body;

}
private function faultHandler(eve:FaultEvent):void{
Alert.show(eve.message.toString());
}

]]>
</mx:Script>

<mx:RemoteObject id="DC" destination="getDataCLOB" >
<mx:method name="get_clob" result="resultHandler(event);" fault="faultHandler(event);"/>
</mx:RemoteObject>
<mx:Button label="click" click="getData()">
</mx:Button>
<mx:DataGrid name="dg" x="10" y="39" dataProvider="{data.device.device_row}">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="device_name"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>,

заранее благодарен

Старый 07.10.2009, 11:27
Gubber вне форума Посмотреть профиль Отправить личное сообщение для Gubber Посетить домашнюю страницу Gubber Найти все сообщения от Gubber
  № 2  
Ответить с цитированием
Gubber

Регистрация: Sep 2000
Адрес: Россия, Обнинск
Сообщений: 84
Отправить сообщение для Gubber с помощью ICQ
Проблема в том, что Flex не знает такого типа. Посмотри внимательно всякую документацию, там написано какие типы данных нормально сериализуются через BlazeDS и LCDS.
Здесь есть два варианта:
1. Простой но не самый правильный. преобразовать Clob в строку на стороне Java и на клиентскую часть паередавать уже строку.
2. Сложнее но более правильный (т.к. боооольшие объёмы данных лучше обрабатывать ассинхронно).
Подключаться к серваку не через RemoteObject, а другим способом. И передавать данные как StringBuffer, на клиенте всё собирать и уже потом отправлять в таблицу.

Первый вариант решается очевидным способом. Второй вариант - чисто теоретический, такими задачами я не занимался.
__________________
flex vs java
ICQ#65310126

Старый 07.10.2009, 15:10
darkbishop вне форума Посмотреть профиль Отправить личное сообщение для darkbishop Найти все сообщения от darkbishop
  № 3  
Ответить с цитированием
darkbishop

Регистрация: Oct 2009
Сообщений: 22
Спасибо большое за совет, второй способ конечно лучше но я не знаю как ещё и какой связкой можно дергать процедуры Oracle, а первый способ конечно ударит сильно по производительности, но все равно спасибо, и ещё если Вы знаете какие нибудь подходящие к данной задачи связки, будьте добры мне написать

Старый 07.10.2009, 15:23
Gubber вне форума Посмотреть профиль Отправить личное сообщение для Gubber Посетить домашнюю страницу Gubber Найти все сообщения от Gubber
  № 4  
Ответить с цитированием
Gubber

Регистрация: Sep 2000
Адрес: Россия, Обнинск
Сообщений: 84
Отправить сообщение для Gubber с помощью ICQ
Самое простое, что мне приходит в голову - создать свой сервлет, который просто возвращает в поток данные. А из флекса просто дёргать URL этого сервлета и ожидать полной загрузки
__________________
flex vs java
ICQ#65310126

Старый 07.10.2009, 15:28
darkbishop вне форума Посмотреть профиль Отправить личное сообщение для darkbishop Найти все сообщения от darkbishop
  № 5  
Ответить с цитированием
darkbishop

Регистрация: Oct 2009
Сообщений: 22
Спасибо буду думать как это сделать на сервлете, так как я с сервлетами не очень хорошо знаком, не , не так, лучше будет сказать, очень не хорошо знаком.
По началу я думал всю логику делать на Java классах, не прибегая к Web средствам реализованным на Java (боязнь за производительность), ну ладно я что-то отвлекся и ещё раз спасибо как за совет, так и за внимание

Добавлено через 6 часов 46 минут
все получилось, вместо Clob решил передать ArrayList, во Flex его конверчу в XMLList используя event.result.source

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

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

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


 


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


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