Показать сообщение отдельно
Старый 15.08.2018, 23:01
Atomnsq вне форума Посмотреть профиль Отправить личное сообщение для Atomnsq Найти все сообщения от Atomnsq
  № 1  
Ответить с цитированием
Atomnsq

Регистрация: Sep 2017
Сообщений: 5
По умолчанию Из XML в dataGrid и обратно

Подскажите пожалуйста как можно реализовать возможность редактирования XML файла через dataGrid.
Есть XML который выгружается в dataGrid. Пытаюсь сделать так чтобы все внесенные изменения в записались в XML.
Содержимое файла *.fla.
Код AS3:
/*импорт классов*/
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.*;
 
/*загрузка XML-файла*/
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("table.xml"));
loader.addEventListener(Event.COMPLETE,onComplete);
 
/*функция, которая выполняется после успешной загрузки XML-файла*/
function onComplete(event:Event):void
{
	/*	переменная, хранящая XML-файл	*/
	var myxml:XML = XML(event.target.data);
 
	/*	создаём столбец "Имя"	*/
	var users:DataGridColumn = new DataGridColumn("name");//создаём столбец и в качестве параметра указываем имя столбца
	users.headerText = "Имя";//заголовок столбца
	users.width = 150;//ширина столбца
 
	/*	создаём столбец "Очки"	*/
	var scores:DataGridColumn = new DataGridColumn("score");//создаём столбец и в качестве параметра указываем имя столбца
	scores.headerText = "Очки";//заголовок столбца
	scores.width = 100;//ширина столбца
 
	/*	создаём поставщика данных на основе ранее загруженного XML-документа*/
	var dp:DataProvider = new DataProvider(myxml);
 
	/*	создаём компонент DataGrid	*/
	var dg:DataGrid = new DataGrid();
	addChild(dg);//добавляем в список отображения
	dg.x = 150;//позиционируем по оси X
	dg.y = 100;//позиционируем по оси Y
	dg.width = 250;//ширина таблицы
	dg.headerHeight = 40;//высота заголовка таблицы
	dg.rowHeight = 30;//высота строк в таблице
	dg.columns = [users,scores];//указываем столбцы для нашей таблицы
	dg.dataProvider = dp;//источник данных для таблицы
	dg.rowCount = dg.length;//число строк, видимых в таблице
	dg.editable = true;
 
	for (var q:int = 0; q < myxml.length();q++)
	{
		trace((myxml));
	}
	//trace(event.target.data);
}
Содержимое файла *.xml

<?xml version="1.0" encoding="UTF-8" ?>
<table>
<user name="Елена" score="1"></user>
<user name="Ирина" score="2"></user>
<user name="Наталья" score="3"></user>
</table>
Вложения
Тип файла: rar XMLtoGrid.rar (465.8 Кб, 77 просмотров)