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

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

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

Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
По умолчанию Обновление DataGrid во Flex 3.0

День добрый. Есть проблема, таблица:

По нажатию на кнопку удаления записи таблица не обновляется - нужно перезапускать браузер. Вопрос: как заставить это чудо природы обновляться "на лету"?
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  currentState="tabelView" creationComplete="StartInit()">
	<mx:Script>
    <![CDATA[
    	import mx.collections.XMLListCollection;
 
		import mx.collections.ArrayCollection;
		import mx.controls.TextInput;
		import mx.rpc.events.ResultEvent;
 
		[Bindable]
		public var xmlProvider:XMLList;
		public var datalist:ArrayCollection=new ArrayCollection();
 
		public function StartInit():void
		{
			GetData.url="http://...";
			GetData.send();
		}
 
		public function OnLoadData(event:ResultEvent):void
		{
			xmlProvider=event.result.dop;
			txt.text=xmlProvider.toString();
			for(var i:Number=0;i<xmlProvider.length();i++)
			{
				datalist.addItem({id:xmlProvider[i].@id , num:xmlProvider[i].@num, group:xmlProvider[i].@group,
									prepod: xmlProvider[i].@prepod, subject: xmlProvider[i].@subject,
									room: xmlProvider[i].@room, date_time: xmlProvider[i].@date_time,
									type: xmlProvider[i].@type});
			}
			tabel.dataProvider=datalist;
			tabel.rowCount=xmlProvider.length();
		}
 
 
		public function trans(id:String):void
		{
			currentState='addForm';
			//txt2.text='adad';
			txt2.text=id.toString();
		}
 
		public function del(id:String):void
		{
			GetData.url="http://...";
			txt.text=GetData.url;
			GetData.send();
			txt.text=xmlProvider.toString();		
		}
 
	]]>
	</mx:Script>
	<mx:HTTPService id="GetData" resultFormat="e4x" result="OnLoadData(event)" />
	<mx:states>
		<mx:State name="addForm">
			<mx:AddChild position="lastChild">
				<mx:Label x="282" y="304" text="Label" id="txt2"/>
			</mx:AddChild>
		</mx:State>
 
		<mx:State name="tabelView">
			<mx:AddChild position="lastChild">
				<mx:DataGrid x="10" y="141" textAlign="center" id="tabel" rowCount="1">
					<mx:columns>
						<mx:DataGridColumn headerText="№" dataField="num"  id="awd" width="30"/>
						<mx:DataGridColumn headerText="Группа" dataField="group" width="70" />
						<mx:DataGridColumn headerText="Преподаватель" dataField="prepod"/>
						<mx:DataGridColumn headerText="Предмет" dataField="subject"/>
						<mx:DataGridColumn headerText="Дата/Время" dataField="date_time"/>
						<mx:DataGridColumn headerText="Аудитория" dataField="room"/>
						<mx:DataGridColumn headerText="Тип" dataField="type"/>
						<mx:DataGridColumn headerText="Опции">
  							<mx:itemRenderer>
    							<mx:Component>
      								<mx:HBox horizontalAlign="center" verticalAlign="middle">
        								<mx:Button icon="@Embed(source='../libs/img/edit.png')" 
        									click="outerDocument.trans(outerDocument.datalist[outerDocument.tabel.selectedIndex].id)" />
        								<mx:Button icon="@Embed(source='../libs/img/drop.png')" 
        									click="outerDocument.del(outerDocument.datalist[outerDocument.tabel.selectedIndex].id)" />
      								</mx:HBox>
    							</mx:Component>
  							</mx:itemRenderer>
						</mx:DataGridColumn>
					</mx:columns>
				</mx:DataGrid>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="289" text="Label" width="685" height="261" id="txt"/>
			</mx:AddChild>
		</mx:State>
 
		<mx:State name="editForm"/>
	</mx:states>
 
</mx:Application>
Структура XML:
Код:
<?xml version="1.0" encoding="utf-8" ?> 
- <dt>
  <dop id="93" num="1" group="13" prepod="Человек" subject="Слова" date_time="2010-05-25 12:12:00" room="231" type="Дополнительное занятие" /> 
  <dop id="94" num="2" group="1311" prepod="Человек" subject="Слова" date_time="2010-05-25 12:12:00" room="231" type="Дополнительное занятие" /> 
  </dt>

Старый 26.05.2010, 16:36
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Надо удалить запись из провайдера.

Старый 26.05.2010, 17:07
niks_13 вне форума Посмотреть профиль Отправить личное сообщение для niks_13 Найти все сообщения от niks_13
  № 3  
Ответить с цитированием
niks_13

Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
А как это сделать?

Старый 26.05.2010, 17:24
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Ты в OnLoadData() создал провайдер, назначил гриду. В del() ты передаешь id элемента. Вот и ищи по этому id нужный элемент в datalist и удаляй.

Старый 01.06.2010, 19:33
niks_13 вне форума Посмотреть профиль Отправить личное сообщение для niks_13 Найти все сообщения от niks_13
  № 5  
Ответить с цитированием
niks_13

Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
Спасибо, помогло.

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

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

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


 


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


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