Hi ,
I have an advanced data grid , with 8 columns one of the columns i want the 8 
th column as a POPUPMenu Button,  and when I click on the menu item it should 
navigate to a url value which is in the Array dArr. Array ddArr has 2 values 
,how can i do this I have tried many things.
 Array ddArr has the values [dd.label,dd.url] and some valuses in the array has 
more than one occurence, I mean [dd.label1,dd.url1],[dd.label2,dd.url2]. 
The values to be populated in the POPUPMenuButton , i have in an array 
dArr.After doing this I see only the popupButton but no data from ddArr .
please help me out.
<?xml version="1.0"?>
<!-- Dashboard Main Service Summary table --> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; width="100%" 
height="100%" backgroundColor="#FFFFFF" 
                initialize="initApp();" 
creationComplete="onCreationComplete();">
  <mx:Style>
    .hStyle { fontWeight:bold; fontFamily:Verdana; fontSize:12; align:center; }
  </mx:Style>
  <mx:Script>
    <![CDATA[

  var ddArr:ArrayCollection = new ArrayCollection();
var dp:ArrayCollection = new ArrayCollection();

 var ddLabel:String="";
          var ddUrl:String="";
          var ddData:String="";
          var ddRest:String="";
          var popUpB:PopUpMenuButton;
 
 
 
ddData=  xd[9];
              ddRest=ddData;
              var ddidx:int = ddData.indexOf("|");  
             // var  dObj:Object=new Object();    
               while ( ddidx > 0 )
               {
               
                   ddLabel= ddRest.substring( 0, ddidx ); 
                  
                   ddRest= ddRest.substring(ddidx + 1  );
                    ddidx = ddRest.indexOf("|"); 
               if(       ddidx > 0)
               {
              // ddUrl= ddRest.substring(ddidx + 1  );
                ddUrl= ddRest.substring(0, ddidx   );   
              
                 ddRest= ddRest.substring(ddidx + 1  );
                     ddidx = ddRest.indexOf("|"); 
               }
               
                  dObj.label=  ddLabel;
                  dObj.url=    ddUrl;
                 ddArr.addItem(dObj);
               
               }
               popUpB=new PopUpMenuButton();
               myMenu = new Menu();   
               myMenu.labelField = "Action";
                myMenu.showRoot = true;
                myMenu.width = popUpB.width;
                myMenu.selectedIndex = 0; 
                myMenu.dataProvider =  ddArr;
                     
               // myMenu.addEventListener("itemClick", itemClickHandler);
               
               popUpB.popUp = myMenu;
 
dp.addItem( { "Index":xd[0], "Service":xd[1], "Priority":xd[2], "Current 
SLA":xd[3],"Health":xd[4], "Quality":xd[5], 
                          "Risk":xd[6], "Avail":xd[7], "OpMode":xd[8], 
"dd":popUpB} );
 dp = dpSrv;
  gc.source=dp;   
       gc.refresh();

 ]]>

 </mx:Script>

<mx:HTTPService id="sst" resultFormat="text" result="onJSONLoad(event)" 
url="{sURL}" fault="onFaultLoad(event)"/> 
  <mx:Panel title="{cTitle}" width="100%" height="100%" titleStyleName="hStyle" 
headerColors="[0xC5DFF9,0xEFF6FF]" >

<mx:AdvancedDataGrid id="srvTable" width="100%" height="100%" color="0x323232" 
dragEnabled="true" dropEnabled="true"
 enabled="true" showHeaders="true"
displayItemsExpanded="true" variableRowHeight="true" wordWrap="false" 
initialize="gc.refresh();"  >
<mx:dataProvider>
              <mx:GroupingCollection id="gc" source ="{dpSrv}">
                    <mx:grouping>
                        <mx:Grouping>
                          <!-- <mx:GroupingField name="PService" /> --> 
                            <mx:GroupingField name="Service" /> 
                        </mx:Grouping>
                    </mx:grouping>
                </mx:GroupingCollection>  
               <!-- <mx:HierarchicalData id="gc" source="{dpSrv}"/>   -->
                </mx:dataProvider>     
            
            <mx:columns>

<mx:AdvancedDataGridColumn id ="ddcol" dataField="dd"  headerText=" Drill-down" 
width="200" textAlign="left">
            
                 </mx:AdvancedDataGridColumn>
                             
               </mx:columns>
               
       <mx:rendererProviders> 
             <mx:AdvancedDataGridRendererProvider dataField="dd" depth="1" 
column="{ddcol}"  columnIndex="8"
             renderer="mx.controls.PopUpMenuButton" /> 
          </mx:rendererProviders>  
 </mx:AdvancedDataGrid>
 </mx:Panel>
</mx:Application>

thanks in advance, 
Tom.

Reply via email to