Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Редактирование данных у клиента с послед.. сохранением на сервере. (http://www.flasher.ru/forum/showthread.php?t=117145)

Foli 20.10.2008 14:03

Редактирование данных у клиента с послед.. сохранением на сервере.
 
Добрый день.

Не могу понять, как реализовать возможность редактирования данных в DataGrid. Допустим, есть DataGrid, в который я подгружаю данные с сервера – GlassFish. На сервере есть сервлет, который должен вернуть клиенту обвёрнутые в XML данныe из таблици. Отобразили данные и потом изменили их в DataGrid. Теперь их надо сохранить в БД, как это принято делать?

Спасибо.

Foli 20.10.2008 18:08

Друзья, мне достаточно последовательности!
Куда копать? Мне не нужно подробных примеров.
Я просто не понимаю, как сохранить то, что я отредактировал в гриде. :confused:

koIIImarik 20.10.2008 21:03

По идее, во вкладке компонента (когда выделяешь dataGrid) нужно изменить свойство "editable" на true.

silin 20.10.2008 22:13

>>Я просто не понимаю, как сохранить то, что я отредактировал в гриде.
что именно:
-как взять данные из dataGrid.dataProvider ?
-как положить их в XML ?
-как отправить на сервер ?

Foli 21.10.2008 14:44

Цитата:

Сообщение от silin (Сообщение 771701)
>>Я просто не понимаю, как сохранить то, что я отредактировал в гриде.
что именно:
-как взять данные из dataGrid.dataProvider ?
-как положить их в XML ?
-как отправить на сервер ?

Почитав некотрые статьи я понял след:

1) Через HTTPService я делаю запрос на сервер к моему сервлету, который проанализирует мои параметры и вернёт результат (обёрнутый в XML) выборки из БД.
Какой тип десериализации надо указать HTTPService.resultFormat? xml?

2) Куда мне нужно сохранить мой результат от сервера? Я так понимаю, можно в ArrayCollection?

3) Результат из шага 3 я скормлю датапровайдеру лист компонента, например DataGrid'у ?

4) Когда я отредактирую данные в гриде они будут автоматически изменены и в датопровайдере?

5) Что нужно дальше далать? Послать через HTTPService содержимое датопровайдера на сервер и проанализировать, что изменилось и применить это в БД?

Прошу обьясните, а то каша в голове. Читаю кучу форумов, доки и вижу, что люди по-разному делают.

silin 21.10.2008 15:18

>>Когда я отредактирую данные в гриде они будут автоматически изменены и в датопровайдере?
да,
в моем понимании дальше ты их пакуешь в XML, который поймет серверный скрипт, и отдаешь..

сори, видимо вопрос шире, но по серверной части не берусь ничего подсказать

Foli 21.10.2008 18:16

Цитата:

Сообщение от silin (Сообщение 771806)
>>Когда я отредактирую данные в гриде они будут автоматически изменены и в датопровайдере?
да,
в моем понимании дальше ты их пакуешь в XML, который поймет серверный скрипт, и отдаешь..

сори, видимо вопрос шире, но по серверной части не берусь ничего подсказать

И на этом спасибо. :) Меня пока не интересует серверная часть.
Я просто не могу понять, как мне на сервере определить, что что-то было изменено в датопровайдере на стороне клиента. Вот, например, как работает DataSet в ADO.NET Загрузили в DataSet, допустим, одну табличку и отобразили в гриде. Потом я в гриде изменил некоторые данные, а кое-что и вовсе удалил. Так вот, когда я хочу сохранить все изменения в БД, то в DataSet до пременения к БД можно получить например:

- все удалённые данные
- все изменнёные данные
- все добавленные данные

Тут, получается, что-то похожее долждно быть. Если я изменю несколько строк в гриде, то в датапровайдере их надо просто пометить, что такие-то строки были изменены. А потом всё это послать на сервер. На сервере я просто проанализирую, что было изменено и по ID изменю в БД.

Это моё личные догадки. Собственно, и пишу на форуме, чтобы не писать рогатое решение. Хочу советов, как это обычно делается. Ну, что никто не отображал в гриде данные из БД? Не делал кнопочки Delete, Edit, пэйджинг? Это же очень важный момент.

Foli 22.10.2008 02:27

Модераторы, перенесите тему в ветку Серверные технологии и Flash Я думаю что мой вопрос больше подходит для другой ветки.

wvxvw 22.10.2008 02:44

Тут много читать, и тяжело найти конкретные примеры, но в двух словах:
Есть даже несколько конкурирующих фреймворков которые обеспечивают работу с вебсервисами, этот, пожалуй, самый популярный, хотя, я слышал много положительных откликов и о другом: Mate. Можно, конечно пытаться и построить что-то свое, но по этим будет легче найти ответы если вдруг что, все-таки есть еще люди, которые ими пользуются =)
Есть еще, на сколько я знаю портированая для Явы библиотека AMFPHP, но я так тоже про нее толком ничего не знаю...


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

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