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

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

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

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
По умолчанию Заполнение XML в DataGrid

Добрый день уважаемые. Нужна помощь в одном вопросе:
Имеется программа которая отправляет запрос в MySQL через php и получает в ответ таблицу в виде XML со следующей структурой (количество строк и столбцов в зависимомти от запроса, а также имя тега "field"может меняться):
Код:
<table>
   <row>
      <field1></field1>
      <field2></field2>
      ...
      <fieldN</fieldN>
   </row>
   <row>
      <field1></field1>
      <field2></field2>
      ...
      <fieldN</fieldN>
   </row>
  ...
   <row>
      <field1></field1>
      <field2></field2>
      ...
      <fieldN</fieldN>
   </row>
</table>
Этот XML необходимо теперь засунуть в DataGrid, в котором названия столбцов станут названия тегов внутри <row></row>.
Весь форум перерыл + справочники от Adobe, но так ничего и не выходит. Везде примеры для фиксированых по количеству столбцов, а мне именно по не известному надо. Направте на путь истиный. Заранее благодарен.

Старый 18.08.2009, 13:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Так у вас со стандартной DataGrid ничего и не получится, в ней не может быть разное количество колонок в разных рядах...
__________________
Hell is the possibility of sanity

Старый 18.08.2009, 14:50
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 3  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
В таблице у каждой строки одинаковое количество столбцов. Но у разных таблиц кол-во столбцов естественно может отличаться.

Старый 18.08.2009, 15:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, тогда, например,
Код AS3:
myDataGrid.columns = [new DataGridColumn(), new DataGridColumn() ...];
__________________
Hell is the possibility of sanity

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

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Большое спасибо wvxvw, но можно вас попросить чуть подробнее что к чему, так как Flex'ом всего 4-й день занимаюсь и еще не совсем понимаю. Например что то надо писать в эти DataGridColumn?

Старый 18.08.2009, 16:17
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
	xmlns:mx="http://www.adobe.com/2006/mxml"
	applicationComplete="init()"
	>
	<mx:Script>
		<![CDATA[
			import mx.controls.dataGridClasses.DataGridColumn;
 
			private function createColumn(xml:XML):DataGridColumn
			{
				var c:DataGridColumn = new DataGridColumn(xml.localName());
				// set additional column properties here
				return c;
			}
 
			private function init():void
			{
				var list:XMLList = fooXML.row;
				var columns:Array = [];
				list[0].*.(columns.push(createColumn(valueOf())));
				fooDG.columns = columns;
				fooDG.dataProvider = list;
			}
		]]>
	</mx:Script>
	<mx:XML id="fooXML">
		<table>
			<row>
				<field1>A</field1>
				<field2>B</field2>
				<fieldN>C</fieldN>
			</row>
			<row>
				<field1>D</field1>
				<field2>E</field2>
				<fieldN>F</fieldN>
			</row>
			<row>
				<field1>G</field1>
				<field2>H</field2>
				<fieldN>J</fieldN>
			</row>
		</table>
	</mx:XML>
	<mx:DataGrid id="fooDG"/>
</mx:Application>
__________________
Hell is the possibility of sanity

Старый 18.08.2009, 16:46
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 7  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Большое вам человеческое Спасибо уважаемый wvxvw!!! Все зарботало!!!

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

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

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


 


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


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