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

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

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

Регистрация: Sep 2007
Сообщений: 146
По умолчанию Вопросы по DataGrid

Два простых вопроса по DataGrid.
1. Заполняю DataGrid динамически
Код:
//Формирование массива столбцов для DataGrid
var arr:Array = new Array();
for each (var item:XML in myXML.metadata.children()){
	var dgc:DataGridColumn = new DataGridColumn();	
	dgc.dataField = item.@id;
	dgc.headerText = item.@nameGUI;
 	if (item.@size!=0 && item.@size!=""){
		dgc.width = item.@size;
	}
	arr.push(dgc);
}
dg_v01.columns = arr;		

//Формирование массива с данными для DataGrid
myXML = XML(myLoader.data);
dg_v01.dataProvider = myXML.data.children();
НО, если я не задам ширину, то столбцу будет присвоена ширина ноль по умолчанию. Можно ли как-то задать, чтобы все столбцы, которым не присвоена ширина, поделили оставшуюся ширина поровну?!

2. В DataGrid есть столбец ID. Как можно спозиционировать DataGrid на строку, где ID равно например 123?

Старый 06.01.2008, 19:53
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 2  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
По второму вопросу: Если есть столбец с ID=123, то есть и объект в dataProvider'e c таким ID. Соотвественно достаточно написать метод типа getItemByID(id:int,collection:ArrayCollection):Object который будет возвращать нужный объект и сделать
Код:
 dataGrid.selectedItem = getItemByID(123,dataGrid.dataProvider as ArrayCollection);

Старый 09.01.2008, 02:53
Bruiser вне форума Посмотреть профиль Отправить личное сообщение для Bruiser Найти все сообщения от Bruiser
  № 3  
Ответить с цитированием
Bruiser

Регистрация: Sep 2007
Сообщений: 146
Цитата:
Сообщение от Sneg
По второму вопросу: Если есть столбец с ID=123, то есть и объект в dataProvider'e c таким ID. Соотвественно достаточно написать метод типа getItemByID(id:int,collection:ArrayCollection):Object который будет возвращать нужный объект и сделать
Код:
 dataGrid.selectedItem = getItemByID(123,dataGrid.dataProvider as ArrayCollection);
А если например в компоненте DataGrid 10 элементов, на экране видны только первые 5, а нужно спозиционироваться на последнем элементе. Он может быть и выделиться, но пока человек не прокрутит, он не увидит выделенный. Что можно сделать?

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

Регистрация: Jan 2008
Сообщений: 21
Цитата:
Сообщение от Sneg
По второму вопросу: Если есть столбец с ID=123, то есть и объект в dataProvider'e c таким ID. Соотвественно достаточно написать метод типа getItemByID(id:int,collection:ArrayCollection):Object который будет возвращать нужный объект и сделать
Код:
 dataGrid.selectedItem = getItemByID(123,dataGrid.dataProvider as ArrayCollection);
Есть какие то идеи по реализации такого метода, кроме как полный обход всей ArrayCollection?

Старый 09.01.2008, 13:25
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 5  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
Тогда после выделения элемента сделать принудительный скролинг: dataGrid.scrollToIndex(dataGrid.selectedIndex);

Старый 09.01.2008, 16:58
Bruiser вне форума Посмотреть профиль Отправить личное сообщение для Bruiser Найти все сообщения от Bruiser
  № 6  
Ответить с цитированием
Bruiser

Регистрация: Sep 2007
Сообщений: 146
пасиб)

Старый 23.01.2008, 15:45
NikR вне форума Посмотреть профиль Отправить личное сообщение для NikR Найти все сообщения от NikR
  № 7  
Ответить с цитированием
NikR

Регистрация: Nov 2006
Сообщений: 76
Чтоб не 0(default): && item.@size!=undefined

Старый 23.01.2008, 16:39
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 8  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
Нет, думаю, в любом случае нужно проверить каждый item. for each - работает быстро, не вижу никаких проблем.

Старый 23.01.2008, 16:41
bereal вне форума Посмотреть профиль Отправить личное сообщение для bereal Найти все сообщения от bereal
  № 9  
Ответить с цитированием
bereal

Регистрация: Jan 2008
Сообщений: 21
Просто допустим там 100 элементов а обновление происходит до 10 раз в секунду - нормальная такая нагрузочка получается, для обычного хеша

Старый 23.01.2008, 16:45
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 10  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
А как ставится задача в более общем случае? Что необходимо реализовать? Зачем обновлять 10 раз в секунду? Возможно существует другое решение.

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

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

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


 


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


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