Показать сообщение отдельно
Старый 13.05.2011, 16:54
AntonSurkont вне форума Посмотреть профиль Отправить личное сообщение для AntonSurkont Найти все сообщения от AntonSurkont
  № 5  
Ответить с цитированием
AntonSurkont
 
Аватар для AntonSurkont

Регистрация: Dec 2009
Сообщений: 122
Вот такой датаГрид
Код AS3:
<mx:DataGrid id="itemDG" dataProvider="{itemAC}" width="100%" height="100%">
<mx:columns>
	<mx:DataGridColumn dataField="name" headerText="Item" />
	<mx:DataGridColumn dataField="quantity" headerText="Quantity" width="100" minWidth="70" rendererIsEditor="true"  editorDataField="result" itemRenderer="renderer.QuantityRenderer"/>
	<mx:DataGridColumn dataField="color" headerText="Color" width="80" rendererIsEditor="true"  editorDataField="result" itemRenderer="renderer.ColorPickerRenderer"/>
	<mx:DataGridColumn dataField="size" headerText="Size" width="140" minWidth="130" rendererIsEditor="true"
editorDataField="result" itemRenderer="renderer.SizeRenderer"/>
	<mx:DataGridColumn dataField="hasLogo" headerText="Logo?" width="100" rendererIsEditor="true" editorDataField="result"
itemRenderer="renderer.CheckRenderer"/>
</mx:columns>
</mx:DataGrid>
Такой датаПровайдер (ну я его там загружаю, просто чтобы структура была понятна)
Код:
<?xml version="1.0" encoding="UTF-8"?>
<items>
	<item name="Item 1" quantity="2" color="sky" size="small" hasLogo="true" />
	<item name="Item 2" quantity="4" color="red" size="medium" hasLogo="false" />
	<item name="Item 3" quantity="2" color="ash" size="large" hasLogo="true" />
	<item name="Item 4" quantity="1" color="navy" size="extra-large" hasLogo="false" />
</items>
Так вот когда скажем я меняю состояние чекБокса в последней колонке (renderer.CheckRenderer), то нужно чтобы и параметр hasLogo для этой записи тоже поменялся

Добавлено через 7 минут
Пока сделал так и все работает:
CheckRenderer.mxml
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center">
	<mx:Script>
		<![CDATA[
			public var result:Boolean = false;
 
			private function updateHandler():void
			{
				data.hasLogo = editor.selected;
				result = editor.selected;
			}
		]]>
	</mx:Script>
	<mx:CheckBox id="editor" selected="{data.hasLogo}" click="updateHandler()"/>
</mx:VBox>
Но очень странно что без строчки data.hasLogo = editor.selected; ничего не работает. Вроде бы все должно было работать и так, потому что
Код AS3:
mx:DataGridColumn dataField="hasLogo" headerText="Logo?" width="100" rendererIsEditor="true" editorDataField="result" itemRenderer="renderer.CheckRenderer"/>
и result меняю как надо, непонятно.


Последний раз редактировалось AntonSurkont; 13.05.2011 в 17:03.