http://snippets.gfunk007.com/?FindIndex.as

Usage:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
xmlns:pkg="pkg.*">

    <mx:ArrayCollection id="src1">
        <mx:Object label="Ken" objid="1"/>
        <mx:Object label="Ryu" objid="2"/>
        <mx:Object label="Chun-Li" objid="3"/>
        <mx:Object label="Dhalsim" objid="4"/>
        <mx:Object label="E. Honda" objid="5"/>
        <mx:Object label="Blanka" objid="6"/>
        <mx:Object label="Zangief" objid="7"/>
        <mx:Object label="Guile" objid="8"/>
    </mx:ArrayCollection>

    <mx:ArrayCollection id="src2">
        <mx:Object label="Ken" objid="1"/>
        <mx:Object label="Ryu" objid="2"/>
        <mx:Object label="Chun-Li" objid="3"/>
        <mx:Object label="Dhalsim" objid="4"/>
        <mx:Object label="E. Honda" objid="5"/>
        <mx:Object label="Blanka" objid="6"/>
        <mx:Object label="Zangief" objid="7"/>
        <mx:Object label="Guile" objid="8"/>
    </mx:ArrayCollection>

    <pkg:FindIndex source="{src2}" keyField="objid" searchFor="{
left.selectedItem }" id="fi"/>

    <mx:HBox horizontalCenter="0" verticalCenter="0">

        <mx:List id="left" dataProvider="{src1}" width="120"/>

        <mx:List id="right" dataProvider="{src2}" selectedIndex="{
fi.matchingIndex }" width="120"/>

    </mx:HBox>

</mx:Application>


On Thu, Oct 16, 2008 at 9:02 AM, Josh McDonald <[EMAIL PROTECTED]> wrote:

> Why is everybody overriding things like combobox to do this? You could cook
> up a util to do it in 15 minutes.
>
> In fact, I'll be back in 15 minutes.
>
>
> On Thu, Oct 16, 2008 at 8:25 AM, frank_sommers <[EMAIL PROTECTED]>wrote:
>
>> Thanks for the replies.
>>
>> Well, Jitendra's solution worked only when I created a ComboBox subclass
>> that did take a
>> special equals() (based on the value of a property named "id") into
>> account. Basically, I
>> overrode the selectedItem property in this subclass.
>>
>> I think equals() and hashCode() are absolutely important, and I find that
>> it's a pain that
>> Flex doesn't have them: In collection contains() methods, selecting items
>> in controls, etc.,
>> an equals() semantic is really important. There are many duplicate objects
>> that are
>> semantically equivalent in RIA clients, and without well-defined semantics
>> for equality I'm
>> finding that I have to implement this sort of logic in components myself.
>>
>> Any chance that this may be addressed in forthcoming Flex versions?
>>
>> Thanks,
>>
>> -- Frank
>>
>> --- In flexcoders@yahoogroups.com, Maciek Sakrejda <[EMAIL PROTECTED]> wrote:
>> >
>> > Frank,
>> >
>> > There's no .equals() in actionscript unless you implement it yourself.
>> > Without hearing more about the context, it's hard to tell whether
>> > Jitendra's data binding solution would work for this specific problem
>> > (data binding would effectively set the list selection to an object that
>> > is not in the list--I'm not sure what happens there), but you might run
>> > into a need for .equals() further down the line. We did, and since all
>> > of our VOs inherit from one VO base object, we just implement .equals()
>> > in these as necessary. It seems rather horrifying that there's
>> > no .equals() at first, but you don't really need it that often...
>> >
>> > --
>> > Maciek Sakrejda
>> > Truviso, Inc.
>> > http://www.truviso.com
>> >
>> > -----Original Message-----
>> > From: frank_sommers <[EMAIL PROTECTED]>
>> > Reply-To: flexcoders@yahoogroups.com
>> > To: flexcoders@yahoogroups.com
>> > Subject: [flexcoders] Java-like equals() method?
>> > Date: Sat, 11 Oct 2008 02:54:18 -0000
>> >
>> > Hi,
>> >
>> > I've been searching for a good solution to implementing object equality.
>> > I'm familiar with
>> > ObjectUtil, etc., but it still makes things harder than they should be.
>> >
>> > It may be best to illustrate this with an example. Suppose I have a
>> > ComboBox with an
>> > ArrayCollection as a data provider. The ArrayCollection is populated
>> > with value objects
>> > from the server, e.g., User objects. Suppose that I have a Task class,
>> > and a Task may
>> > have an assignedToUser property, which is a User instance. When the
>> > someone selects a
>> > Task (say, in a master-detail view), I would like the ComboBox to set
>> > its selectedItem to
>> > the user for the given Task, i.e., combBox.selectedItem =
>> > myUser.assignedToUser.
>> >
>> > The problem is that no Task in the ComboBox's data provider and the
>> > User's
>> > assignedToUser property are ever equal using the == or === operators.
>> >
>> > So I would like to implement a custom equality for User, and have the
>> > ComboBox use that
>> > to set its selectedItem to the specified user. In Java, this is easily
>> > done by overriding the
>> > equals() and hashCode() methods of User.
>> >
>> > Any suggestions on how to achieve something similar in Flex would be
>> > much appreciated.
>> >
>> > Thanks,
>> >
>> > -- Frank
>> >
>>
>>
>>
>>
>> ------------------------------------
>>
>> --
>> Flexcoders Mailing List
>> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
>> Alternative FAQ location:
>> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
>> Search Archives:
>> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
>> Links
>>
>>
>>
>>
>
>
> --
> "Therefore, send not to know For whom the bell tolls. It tolls for thee."
>
> Like the cut of my jib? Check out my Flex blog!
>
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
> :: http://flex.joshmcdonald.info/
>



-- 
"Therefore, send not to know For whom the bell tolls. It tolls for thee."

Like the cut of my jib? Check out my Flex blog!

:: Josh 'G-Funk' McDonald
:: 0437 221 380 :: [EMAIL PROTECTED]
:: http://flex.joshmcdonald.info/

Reply via email to