Tim,
Wow! Thanks a bunch! I got pretty close but i got this one error:

1151: A conflict exists with definition linkedFormButton in namespace
internal.

I'm really new to flex so alot of this is just a whole other OO level
then i'm use to. Below is my code for the whole page. IF you can take
a peek that would be awesome. Loved your site by the way. You guys do
amazing stuff with flex! i have a really good idea for a site if you
ever interested in packaging something.
Anyways, here's the code:
<?xml version="1.0" encoding="utf-8"?>
<cfComponents:SizeableTitleWindow
xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*"
        xmlns:cfComponents="com.adobe.ColdFusion.components.*"
        creationComplete="initComponent()"
        title="Archive Contents"
        showCloseButton="true" close="WindowManager.remove(this);"
width="800" height="400" >

        <mx:Script>
                <![CDATA[
                        import 
com.adobe.windowedApplication.managers.WindowManager;
                        import mx.core.UIComponent;
                        import mx.collections.ArrayCollection;
                        import mx.utils.ObjectUtil;
                        import mx.controls.Alert;
                        import mx.rpc.events.FaultEvent;
                        import mx.rpc.events.ResultEvent;
                        import 
com.cfgenerated.views.detail.Archive_Content_Details;
                        import com.cfgenerated.views.masterdetail.Art_Details;
                        import 
com.cfgenerated.views.masterdetail.Recording_Details;
                        private var currentIndex:int = 0;

                        private var _key:Object;

                        [Bindable]
                        public function get key():Object
                        {
                                return this._key;
                        }
                        public function set key(key:Object):void
                        {
                                this._key = key;
                        }

                        private function initComponent():void
                        {
                                refreshList(null);
                        }

                        public function refreshList(event:Event):void
                        {
                                this.dataManager.getMasterQuery(this.key);
                        }

                        private function deleteItem(key:Object):void
                        {
                                this.dataManager.deleteItem(key);
                        }

                        private function 
getDetailComponent(key:Object):UIComponent
                        {
                                var view:Archive_Content_Details = new 
Archive_Content_Details();
                                view.key = key;
                                view.addEventListener("change", refreshList);
                                return view;
                        }

                        private function 
getArt_DetailsComponent(key:Object):UIComponent
                        {
                                var view:Art_Details = new Art_Details();
                                view.key = key;
                                return view;
                        }

                        private function 
getRecording_DetailsComponent(key:Object):UIComponent
                        {
                                var view:Recording_Details = new 
Recording_Details();
                                view.key = key;
                                return view;
                        }

                        /**
                         * RemoteObject result and error handlers
                         */
                        private function server_fault(event:FaultEvent):void
                        {
                                // dump error message
                                Alert.show( ObjectUtil.toString(event.fault) );
                        }

                        private function 
getMasterQuery_result(event:ResultEvent):void 
                        {
                                //Alert.show( ObjectUtil.toString(event.result) 
);
                                this.masterList.dataProvider = event.result as 
ArrayCollection;
                                this.masterList.selectedIndex = 
this.currentIndex;
                        }

                        private function 
deleteItem_result(event:ResultEvent):void
                        {
                                //Alert.show( ObjectUtil.toString(event.result) 
);
                                refreshList(null);
                        }

                        [Bindable]
                        private var linkedFormButtonVisible : Boolean = false;
                        
                    [Bindable]
                        private var linkedFormButton = "";      
  
                        private static const ART_DETAILS_LABEL : String = "Art 
Details";
                        
                        private static const RECORDING_DETAILS_LABEL : String = 
"Recording
Details";         
            
            private function handleMasterListChange():void{

                       linkedFormButtonVisible = false;
                
                       linkedFormButtonLabel = "";
                        
               switch ( masterList.selectedItem.Format_Name )

                    {
                      case "Image" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
ART_DETAILS_LABEL;
                            break;

                      case "Sketch" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
ART_DETAILS_LABEL;
                            break;

                      case "Poster Art" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
ART_DETAILS_LABEL;
                            break;
 
                      case "Cue" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
RECORDING_DETAILS_LABEL;
                            break;
   
                      case "Track" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
RECORDING_DETAILS_LABEL;
                            break;

                      case "Reel" :
                                  linkedFormButtonVisible = true;
                                  linkedFormButtonLabel =
RECORDING_DETAILS_LABEL;
                            break;
 
                      default :
                            break;                                 

                    }
              }         
                                
                          private function addLinkedForm():void{                

                  switch ( masterList.selectedItem.Format_Name )

                        {
                          case "Image" :
                                     
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          case "Sketch" :
                                     
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          case "Poster Art" :
                                     
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          case "Cue" :
                                  
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          case "Track" :
                                     
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          case "Reel" :
                                     
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.LocationContentID),
this, false);
                                break;
        
                          default :
                                break;                                 
                        }
              }
                ]]>
        </mx:Script>

        <mx:RemoteObject
                id="dataManager"
                showBusyCursor="true"
                destination="ColdFusion"
source="tiomkin.admin.components.cfgenerated.Archive_Contents">
                <mx:method name="getMasterQuery"
result="getMasterQuery_result(event)" fault="server_fault(event)" />
                <mx:method name="deleteItem" result="deleteItem_result(event)"
fault="server_fault(event)" />
        </mx:RemoteObject>

        <mx:HBox id="addEditDeleteToolbar" horizontalAlign="left"
horizontalGap="20">
                <mx:Button id="addBtn"
                        icon="@Embed(source='../../../../images/add.png')" 
width="40"
                        click="WindowManager.add( getDetailComponent(null), 
this, false );" />
                <mx:Button id="editBtn"
                        icon="@Embed(source='../../../../images/edit.png')" 
width="40"
                        enabled="{this.masterList.selectedIndex>=0}"
                        click="WindowManager.add(
getDetailComponent(this.masterList.selectedItem.LocationContentID),
this, false );" />
                <mx:Button id="deleteBtn"
                        icon="@Embed(source='../../../../images/delete.png')" 
width="40"
                        enabled="{this.masterList.selectedIndex>=0}"
                
click="this.deleteItem(this.masterList.selectedItem.LocationContentID)" />
     
        <mx:Button id="linkedFormButton"
            label="{ linkedFormButtonLabel }"
            visible="{ linkedFormButtonVisible }"
            click="addLinkedForm();"/>

        </mx:HBox>

        <mx:HBox width="100%" height="100%">
                <mx:DataGrid
                        id="masterList"
                        doubleClickEnabled="true" 
                        
doubleClick="this.currentIndex=this.masterList.selectedIndex;
if(this.masterList.selectedItem!=null) { WindowManager.add(
getDetailComponent(this.masterList.selectedItem.LocationContentID),
this, false ); }" 
                        width="100%" height="100%" top="0" left="0" right="0" 
bottom="0"
                        change="handleMasterListChange();">
                        <mx:columns>
                                <mx:DataGridColumn dataField="Format_Name" 
headerText="Format"
width="125" />
                                <mx:DataGridColumn dataField="ContentTitle" 
headerText="Content
Title" />
                                <mx:DataGridColumn dataField="Sequence" 
headerText="Sequence"
width="75" />
                        </mx:columns>
                </mx:DataGrid>
        </mx:HBox>

</cfComponents:SizeableTitleWindow>


Thanks again,
David

--- In [email protected], "Tim Hoff" <[EMAIL PROTECTED]> wrote:
>
> 
> Hi David,
> 
> Here is one approach that uses binding.  You could use if statements
> instead of case.  Note the change event for masterList.  This isn't
> tested code, but you should be able to get the ideas.
> 
> 
> 
> -TH
> __________________________________
> 
> 
> 
> Tim Hoff
> Technical Lead
> Cynergy Systems, Inc.
> http://www.CynergySystems.com <http://www.cynergysystems.com/>
> 
> 
> 
> 
> 
> 
> <?xml version="1.0" encoding="utf-8"?>
> 
> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; width="400"
> height="300">
> 
> 
> 
>        <mx:Script>
> 
>              <![CDATA[
> 
> 
> 
>                    [Bindable]
> 
>                    private var linkedFormButtonVisible : Boolean =
false;
> 
> 
> 
>                    [Bindable]
> 
>                    private var linkedFormButton = "";
> 
> 
> 
>                    private static const ART_DETAILS_LABEL : String =
"Art
> Details";
> 
>                    private static const RECORDING_DETAILS_LABEL : String
> = "Recording Details";
> 
> 
> 
>                private function handleMasterListChange():void
> 
>                    {
> 
>                          linkedFormButtonVisible = false;
> 
>                          linkedFormButtonLabel = "";
> 
> 
> 
>                    switch ( masterList.selectedItem.Format_Name )
> 
>                          {
> 
>                                case "Image" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> ART_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                case "Sketch" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> ART_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                case "Poster Art" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> ART_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                case "Cue" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> RECORDING_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                case "Track" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> RECORDING_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                case "Reel" :
> 
>                                            linkedFormButtonVisible =
> true;
> 
>                                            linkedFormButtonLabel =
> RECORDING_DETAILS_LABEL;
> 
>                                      break;
> 
> 
> 
>                                default :
> 
>                                      break;
> 
>                          }
> 
>                }
> 
> 
> 
>                private function addLinkedForm():void
> 
>                    {
> 
>                    switch ( masterList.selectedItem.Format_Name )
> 
>                          {
> 
>                                case "Image" :
> 
>                                           
>
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.Locati\
> onContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                case "Sketch" :
> 
>                                           
>
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.Locati\
> onContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                case "Poster Art" :
> 
>                                           
>
WindowManager.add(getArt_DetailsComponent(masterList.selectedItem.Locati\
> onContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                case "Cue" :
> 
>                                           
>
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.\
> LocationContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                case "Track" :
> 
>                                           
>
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.\
> LocationContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                case "Reel" :
> 
>                                           
>
WindowManager.add(getRecording_DetailsComponent(masterList.selectedItem.\
> LocationContentID), this, false);
> 
>                                      break;
> 
> 
> 
>                                default :
> 
>                                      break;
> 
>                          }
> 
>                }
> 
>              ]]>
> 
>        </mx:Script>
> 
> 
> 
>        <mx:Button id="linkedFormButton"
> 
>              label="{ linkedFormButtonLabel }"
> 
>              visible="{ linkedFormButtonVisible }"
> 
>              click="addLinkedForm();"/>
> 
> 
> 
>        <mx:List id="masterList"
> 
>              change="handleMasterListChange();"/>
> 
> 
> 
> </mx:Canvas>
> 
> 
> --- In [email protected], "David" <envidobi@> wrote:
> >
> > Hi all,
> > I have an application generated by the CF wizard. On top of a datagrid
> > i have 2 buttons that go to 2 different detail pages based upon the
> > same column ID of the data grids' selected index. What i would like to
> > do is combine these buttons into one based upon a columns value in the
> > datagrid. Essentially, what i have is list of column names (things
> > like: cue, track, sketch, image, etc), and i would like the label of
> > the button to be "Recording Details" when the selected index is Cue,
> > Track or Reel, but if its Image, Sketch or Poster Art, then i want it
> > the label to be "Art Details". I would also need the click event to
> > change accordingly. I'm sure its just a simple if statement but I'm
> > rather new to flex. I'd also like the initial value to to be false so
> > that the button is invisible if there is nothing selected or available
> > in the data grid.
> >
> > Here's some code that i have now:
> >
> > <mx:Button id="linkedFormBtn1" label="Art Details"
> > visible="{this.masterList.selectedItem.Format_Name == 'Image' ||
> > this.masterList.selectedItem.Format_Name == 'Sketch'}"
> >
>
click="WindowManager.add(getArt_DetailsComponent(this.masterList.selecte\
> dItem.LocationContentID),
> > this, false);" />
> > <mx:Button id="linkedFormBtn2" label="Recording Details"
> > visible="{this.masterList.selectedItem.Format_Name == 'Cue' ||
> > this.masterList.selectedItem.Format_Name == 'Track' }"
> >
>
click="WindowManager.add(getRecording_DetailsComponent(this.masterList.s\
> electedItem.LocationContentID),
> > this, false);" />
> >
> > Thanks in advance,
> > David
> >
>


Reply via email to