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

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

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

Регистрация: May 2015
Сообщений: 1
По умолчанию DataGrid

Добрый день!
Возникло несколько вопросов по DataGrid:

1. можно ли как-то сделать, чтобы колонки автоматически выравнивались по ширине.
Например, есть 3 колонки: ид, год, название. Если сделать таблицу во всю ширину, то ширина колонок будет поровну разделена, т.е. по 33%. для ид такое широкое поле не нужно, а для названия нужно. В этом случае (если название явно не влезает и обрезается, а для поля ид еще куча места) что-то можно сделать? Или только явное указание width?

2. Указываю высоту для DataGrid 100%, но все-равно показывается стандартные 7 строк. Как-то можно чтобы высота таблицы автоматически изменялась по размеру окна?

3. Как можно сделать переход на другую страницу, кликнув по строке DataGrid? Возможно ли такое?

4. Использую itemRenderer="mx.controls.CheckBox". Можно ли как-то сделать так, чтобы чекбоксы не прилипали к левому краю? И можно ли выделять все строки, у которых установлен флажок чекбокса?

5. Вместо mx.controls.CheckBox указывал свой компонент, но при этом кнопка "выделить все" перестала работать. Можно ли как-то работу этих методов распространить на свои компоненты?



Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
		 xmlns:s="library://ns.adobe.com/flex/spark" 
		 xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<fx:Declarations>
		<!-- Разместить невизуальные элементы (например, службы или объекты значений) -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[		
			import mx.collections.ArrayCollection;
 
			// поставить все галочки
			private function checkAll():void {
				for (var i : Number=0; i<myDP.length; i++)
				{
					var o:Object = myDP.getItemAt(i);
					o.check = true;
					myDP.setItemAt(o, i);
				}
				// скрываем/показываем кнопки
				uncheckall.visible = true;
				checkall.visible = false;
			}
 
			// убрать все галочки
			private function unCheckAll():void {
				for (var i : Number=0; i<myDP.length; i++)
				{
					var o:Object = myDP.getItemAt(i);
					o.check = false;
					myDP.setItemAt(o, i);
				}
				// скрываем/показываем кнопки
				uncheckall.visible = false;
				checkall.visible = true;
			}
 
			[Bindable] 
			private var myDP:ArrayCollection = new ArrayCollection([
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"},
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"},
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"},
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"},
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"},
				{check:false, region:"Ижевск", period:"2014 (4 квартал)", registration:"234-856-389485", company:"Аксион"},
				{check:false, region:"Глазов", period:"2014 (2 квартал)", registration:"678-856-672346", company:"ЛВЗ"}
			]);
 
		]]>
	</fx:Script>
 
	<mx:Panel title="Выгрузка в файл XML" width="100%" height="100%" layout="absolute" horizontalAlign="left" verticalAlign="top">	
		<s:VGroup left="10" right="10" top="10" bottom="10">
			<mx:HBox width="100%" paddingBottom="5" paddingTop="5">
				<mx:Button label="Отметить все" id="checkall" click="checkAll()" includeInLayout="false"/>
				<mx:Button label="Снять все" id="uncheckall" click="unCheckAll()" visible="false" />
			</mx:HBox>			
			<mx:Box width="100%">
				<mx:DataGrid dataProvider="{myDP}" width="100%">
					<mx:columns>
						<mx:DataGridColumn width="30" headerText="" dataField="check" itemRenderer="mx.controls.CheckBox"/>
						<mx:DataGridColumn headerText="Район" dataField="region"/>
						<mx:DataGridColumn headerText="Отчетный период" dataField="period"/>
						<mx:DataGridColumn headerText="Регистрационный номер" dataField="registration"/>
						<mx:DataGridColumn headerText="Наименование" dataField="company"/>
					</mx:columns>
				</mx:DataGrid>
			</mx:Box>
		</s:VGroup>
	</mx:Panel>
</s:Group>

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

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

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


 


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


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