Hi, I want to intialize the datagrid  but looks like i am missing something. 
Could you please help me on this?

<?xml version="1.0" encoding="utf-8"?><ext:SuperPanel 
xmlns:mx="http://www.adobe.com/2006/mxml"; 
xmlns:ext="com.autolab.view.extenders.panel.*" 
xmlns:util="com.autolab.controller.util.*"       
creationComplete="UserHttp.send();"  >     <mx:Script>          <![CDATA[       
        import mx.containers.VDividedBox;               import 
flash.net.getClassByAlias;               import mx.controls.CheckBox;           
         import mx.formatters.DateFormatter;             import 
mx.collections.ArrayCollection;                  import mx.controls.Alert;      
         import mx.rpc.events.ResultEvent;               import 
com.autolab.model.CollectData.Global;                    import 
mx.rpc.AbstractInvoker;                                                  
private static var _instance:SuperPanel = null;                                 
    public static function getInstance():SuperPanel {                   if 
(_instance == null){                         _instance = new 
MyLockedMachinesPanel();                                                        
}                       return _instance;                   }           
[Bindable]              private var
 globalInfo:Global = new Global();              [Bindable]          private var 
emailurl:String = globalInfo.gServer + "services/onDemand/getuser.php";         
            [Bindable]          private static var namewithQuotes:String;       
        [Bindable]              private static var sitewithQuotes:String;       
                        private function getUser(event:ResultEvent):void{       
                                                for each (var p:XML in 
event.result..user) {                                    globalInfo.gUserName = 
p.name.toString();                                       globalInfo.gUserSite = 
p.site.toString();                                                              
         }                               mylockedMachines.dataProvider = 
lockedlist;                             namewithQuotes = "'" + 
globalInfo.gUserName + "'";                          sitewithQuotes = "'" + 
globalInfo.gUserSite + "'";                                                     
     mylocked.myLockedData(namewithQuotes,sitewithQuotes);                      
               }                                              [Bindable]        
      public var lockedlist : ArrayCollection = new ArrayCollection();          
                      public var myheaderArray : Array = new Array();           
                      private function handleOSResult( event : Object ) : void  
                     {                               var machines : 
ArrayCollection = event.result
 as ArrayCollection;                                                            
        for(var i:Number = 0; i < machines.length; i++) {                       
        lockedlist.addItem(machines.getItemAt(i));                              
                        }                                               }       
        private function handleEmailFault(event:Object) :void {                 
//navigateToURL(new URLRequest(globalInfo.gServer + 'home/login.php'), 
'_self');             }      private function handleFault( event : Object ) : 
void               {                                           Alert.show( 
"Error in request <" + event.fault.faultCode + "> <" + event.fault.faultString 
+ "  other details " + event.fault.faultDetail + ">",                        
"fault" );          }                            public override function 
setLayout(layout:XML):void {              super.setLayout(layout);              
                  if (mylockedMachines == null) {                               
                  return; //grid not initialized yet                            
          }                      // I want to intialize this grid as defined in 
the
 file. How can i do this?                                               var 
columnIdx:int = 0;                  for each (var is_visible:Object in 
layout.sub_layout..is_visible) {                                                
                     mylockedMachines.columns[columnIdx].visible = 
Boolean(is_visible == true); //note: Boolean("false") is true                   
                          columnIdx++;                    }               }     
      public override function getLayout():XML {                  var 
layout:XML = super.getLayout();             if (mylockedMachines == null) 
return layout;                            var columns:XML = <columns/>;         
          var i:int = 0;                  for (; i < 
showCB.dataProvider.length; ++i) {                           
columns.appendChild(<is_visible>{showCB.dataProvider[i].visible}</is_visible>);  
               }               layout.sub_layout.appendChild(columns);          
       Alert.show("..." + mylockedMachines);                   return layout;   
     }                 public function showme():void {                          
                                                                       
lockedlist.removeAll();                                 
        this.mylocked.myLockedData(namewithQuotes,sitewithQuotes);              
                                        }               public  function 
FreeSelectedMachine():void {                   for each (var machinename:Object 
in lockedlist) {                                                               
if (machinename.active == true) {                                   
mylocked.UnLockedMachine(machinename.machine);                              }   
                    }                                               
this.showme();          }               public static function 
myDate(i:int):String {                                           var d0:Date = 
new Date();                       var d1:Date = new Date(i * 1000);             
                                  if (d1 < d0) {                          
return "Infinite";                      }                                       
        var re1:RegExp =  /\w{3} (\w{3} \d+) (\d{4}) (\d{2}:\d{2}):\d{2} 
(\w{2})/m ;                    return d1.toLocaleString().replace(re1, "$1 $3 
$4");                                    }       ]]>    </mx:Script>    
<mx:HTTPService id="UserHttp" result ="getUser(event)" 
fault="handleEmailFault(event)" resultFormat="e4x" url="{emailurl}" 
useProxy="false" />    <mx:RemoteObject  id="mylocked"  destination="MyLocked"  
fault="handleFault(event)"   result="handleOSResult(event)" />            
<mx:HBox>     <mx:ComboBox id =
 "showCB" labelField="headerText" dataProvider="{mylockedMachines.columns}" 
prompt="add/remove columns" toolTip="add/remove columns">                   
<mx:itemRenderer>                               <mx:Component>                  
                        <mx:CheckBox click="{data.visible = !data.visible}" 
selected="{data.visible}"/>                                                     
    </mx:Component>                 </mx:itemRenderer>              
</mx:ComboBox>          <mx:Button label="refresh" click="showme()" />   
<mx:Button label="Free machine" click="FreeSelectedMachine()" toolTip="Free the 
selected Machine" />                   </mx:HBox>     <mx:DataGrid 
id="mylockedMachines" width="100%" height="100%" dataProvider="{lockedlist}" 
allowMultipleSelection="true">         <mx:columns>                    
<mx:DataGridColumn headerText="Machine" dataField="machine" wordWrap="true" 
sortable="true" />                  <mx:DataGridColumn headerText="os" 
dataField="installed_os"  wordWrap="true" sortable="true" />                    
                             <mx:DataGridColumn headerText="Comments" 
dataField="comments"  wordWrap="false" sortable="true"
 itemRenderer="com.autolab.view.components.DataRender"/>                        
                                <mx:DataGridColumn headerText="Expiration" 
dataField="expiration"  wordWrap="false" sortable="true" >                   
<mx:itemRenderer>                <mx:Component>                    <mx:HBox>    
                               <mx:Text id="exp" 
text="{MyLockedMachinesPanel.myDate(data.expiration)}" truncateToFit="true" />  
                      </mx:HBox>                                                
            </mx:Component>            </mx:itemRenderer>              
</mx:DataGridColumn>                                    <mx:DataGridColumn 
id="remove" textIndent="10" headerText="Free Machine" dataField="active">       
                     <mx:itemRenderer>                                       
<mx:Component>                                          <mx:HBox 
horizontalAlign="center">                                                      
<mx:CheckBox selected="{data.active==true?true:false}" click="{data.active= 
!data.active}" />                                                               
                                                                            
        </mx:HBox>                                                              
                                                                                
                                        </mx:Component>                         
</mx:itemRenderer>                      </mx:DataGridColumn>            
</mx:columns>    </mx:DataGrid>     </ext:SuperPanel>


Thanks,
Vikrant



      Own a website.Get an unlimited package.Pay next to nothing.*Go to 
http://in.business.yahoo.com/

Reply via email to