You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Justin Mclean (JIRA)" <ji...@apache.org> on 2014/03/13 01:59:44 UTC

[jira] [Resolved] (FLEX-34084) Error with PopupButton/Menu in headerrenderer in DataGrid

     [ https://issues.apache.org/jira/browse/FLEX-34084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Mclean resolved FLEX-34084.
----------------------------------

    Resolution: Fixed

Please ask to be reopened if this is still an issue.

> Error with PopupButton/Menu in headerrenderer in DataGrid
> ---------------------------------------------------------
>
>                 Key: FLEX-34084
>                 URL: https://issues.apache.org/jira/browse/FLEX-34084
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: mx: DataGrid, mx: Menu, mx: PopUpButton
>    Affects Versions: Apache Flex 4.11.0
>         Environment: Web Browser
>            Reporter: Mike Crank
>            Assignee: Justin Mclean
>             Fix For: Apache Flex 4.11.0
>
>
> TypeError: Error #1009: Cannot access a property or method of a null object reference.
> 	at mx.controls::Menu/updateDisplayList()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/Menu.as:1401]
> 	at mx.controls.listClasses::ListBase/validateDisplayList()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as:3968]
> 	at mx.managers::LayoutManager/validateClient()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1041]
> 	at mx.core::UIComponent/validateNow()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8340]
> 	at mx.controls::PopUpMenuButton/commitProperties()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as:682]
> 	at mx.core::UIComponent/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8482]
> 	at mx.managers::LayoutManager/validateClient()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:965]
> 	at mx.controls::DataGrid/http://www.adobe.com/2006/flex/mx/internal::calculateHeaderHeight()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/DataGrid.as:2225]
> 	at mx.controls.dataGridClasses::DataGridHeader/measure()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as:209]
> 	at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[/Users/justinmclean/Documents/ApacheFlex4.11.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8769]
> Here is the code of the headerrenderer. Works fine in Flex 4.6 SDK
> <?xml version="1.0" encoding="utf-8"?>
> <mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
> 		 xmlns:s="library://ns.adobe.com/flex/spark" 
> 		 xmlns:mx="library://ns.adobe.com/flex/mx"
> 		 xmlns:flash.filters="flash.filters.*"
> 		 horizontalAlign="left" verticalAlign="middle"
> 		 width="100%" height="100%" paddingLeft="4"
> 		 horizontalScrollPolicy="off">
> 	
> 	<fx:Declarations>
> 		<mx:ArrayCollection id="ynAC">
> 			<fx:Object label="All" enabled="true" type="check" toggled="true" data="2"/>
> 			<fx:Object label="No" enabled="true" type="check" toggled="true" data="0"/>
> 			<fx:Object label="Yes" enabled="true" type="check" toggled="true" data="1"/>
> 		</mx:ArrayCollection>
> 		
> 		<fx:Array id="filterAR">
> 			<flash.filters:DropShadowFilter id="dropShadowFilter" alpha="0.9" angle="45" blurX="5" blurY="5" distance="4" color="0xababab"/>
> 		</fx:Array>	   		
> 	</fx:Declarations>
> 	
> 	<fx:Script>
> 		<![CDATA[
> 			import mx.controls.Menu;
> 			import mx.events.MenuEvent;
> 			[Embed(source='assets/images/filter.png')]
> 			private var filterIcon:Class;	
> 			
> 			private function setMenuBTN():void {
> 				for (var i:int = 0; i < ynAC.length; i++) {
> 					filterBTN.dataDescriptor.setToggled(ynAC.getItemAt(i), i == 0);
> 				}
> 			}
> 			
> 			private function initSortMenu():void {
> 				Menu(filterBTN.popUp).filters = filterAR;
> 			}
> 			
> 			private function userItemSelected(event:MenuEvent):void {		
> 				for (var i:int = 0; i < ynAC.length; i++) {
> 					event.menu.dataDescriptor.setToggled(ynAC.getItemAt(i), i == event.index);
> 				}
> 				
> 				parentDocument.setPublishedObject(ynAC.getItemAt(event.index).data);
> 			}
> 		]]>
> 	</fx:Script>
> 	
> 	<mx:PopUpMenuButton id="filterBTN" dataProvider="{ynAC}" icon="{filterIcon}" creationComplete="setMenuBTN(); initSortMenu()" itemClick="userItemSelected(event)" openAlways="true" labelField="label" width="40" height="26"/>
> 	<s:Label text="Published"/>
> 	
> </mx:HBox>



--
This message was sent by Atlassian JIRA
(v6.2#6252)