Hey Josh, What's up with:
return item.value >= Math.min(priceSlider.values[0],priceSlider.values[1]) && item.value <=Math.max(priceSlider.values[0],priceSlider.values[1]); You can avoid this by setting allowThumbOverlap="false". Then just use: return item.value >= priceSlider.values[0] && item.value <=priceSlider.values[1); -TH --- In [email protected], "Josh McDonald" <[EMAIL PROTECTED]> wrote: > > Complete example with 2 thumbs (from the earlier example): > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> > > <mx:Script> > <![CDATA[ > import mx.collections.ArrayCollection; > > [Bindable] > private var allProducts : Array = [ > { > name: "Datsun 120y", > value : 1000 > }, > { > name: "Nissan 350Z", > value : 55000 > }, > { > name: "Porsche GT3", > value : 325000 > }, > { > name: "HSV Clubsport", > value : 79999 > }, > { > name: "Mercedes SLR", > value : 1200000 > }, > { > name: "Lada Niva", > value : 75 > }, > { > name: "Ford Falcon XY GTHO", > value : 375000 > }, > { > name: "Batmobile", > value : 654321 > }, > { > name: "Ford Falcon XA GTHO", > value : 2200000 > }]; > > [Bindable] > private var filteredList : ArrayCollection = new > ArrayCollection(allProducts); > > private function updateFilter() : void > { > filteredList.filterFunction = myFilterFunction; > filteredList.refresh(); > } > > private function myFilterFunction(item : Object) : Boolean > { > return item.value >= > Math.min(priceSlider.values[0],priceSlider.values[1]) && item.value <= > Math.max(priceSlider.values[0],priceSlider.values[1]); > } > > ]]> > </mx:Script> > > <mx:DataGrid horizontalCenter="0" verticalCenter="0" width="410" > height="354" dataProvider="{filteredList}"> > <mx:columns> > <mx:DataGridColumn headerText="Car Name" dataField="name"/> > <mx:DataGridColumn headerText="Value" dataField="value"/> > </mx:columns> > </mx:DataGrid> > <!--<mx:HSlider verticalCenter="-191" horizontalCenter="0" minimum="0" > maximum="2000000" id="min" liveDragging="true" change="updateFilter()"/> > <mx:HSlider verticalCenter="191" horizontalCenter="0" minimum="0" > maximum="2000000" id="max" liveDragging="true" change="updateFilter()" > value="2000000"/> > <mx:Label text="Min" textAlign="right" width="117" > horizontalCenter="-147" verticalCenter="-191"/> > <mx:Label text="Max" textAlign="right" width="117" > horizontalCenter="-147" verticalCenter="191"/>--> > > <mx:HSlider horizontalCenter="0" verticalCenter="-200" id="priceSlider" > minimum="0" > maximum="3000000" tickInterval="100000" snapInterval="10" > thumbCount="2" values="[0,3000000]" tickColor="#ffffff" > labels="[$0k,$3000000M]" liveDragging="true" width="182" > change="updateFilter()"/> > > </mx:Application> > > > On Thu, Aug 7, 2008 at 2:39 AM, Tim Hoff [EMAIL PROTECTED] wrote: > > > > > And go back to your original filterFunction: > > > > if ( (city_cb.selectedLabel == "All" || item.city == > > city_cb.selectedLabel) && (lct_cb.selectedLabel == "All" || > > item.location == lct_cb.selectedLabel) && (item.value > > > priceSlider.values[0] && item.value < priceSlider.values[1]) > > ){ > > result=true; > > } > > return result; > > } > > > > priceSlider.values[3000000] doesn't exist. Then as Alex suggests, walk > > through the code with the debugger, or trace. > > > > -TH > > > > --- In [email protected], "Tim Hoff" TimHoff@ wrote: > > > > > > > > > Yeah shoot, my bad. Take the values property out of the tag. Should > > > have said set the min to 0 and the max to 3,000,000 (like you have it. > > > The "values" will lock the thumbs to those two positions (values) > > only. > > > > > > -TH > > > > > > --- In [email protected], "Josh McDonald" dznuts@ wrote: > > > > > > > > Shows how often I use the sliders. I didn't know you could use > > > multiple > > > > thumbs... This is not performant, you should be getting the max and > > > min > > > > within updateFilter() and sticking them in private vars, not in the > > > filter > > > > function itself... but you get the idea. > > > > > > > > private function myFilterFunction(item : Object) : Boolean > > > > { > > > > return item.value >= > > > > Math.min(priceSlider.values[0],priceSlider.values[1]) && item.value > > <= > > > > Math.max(priceSlider.values[0],priceSlider.values[1]); > > > > } > > > > > > > > > > > > On Wed, Aug 6, 2008 at 5:29 PM, stinasius stinasius@ wrote: > > > > > > > > > i managed to build a dual thumb slider that i pass on the filter > > > > > function. here is the code. > > > > > > > > > > <mx:HSlider x="0" y="240" id="priceSlider" minimum="0" > > > > > maximum="3000000" tickInterval="100000" snapInterval="10" > > > > > thumbCount="2" values="[0,3000000]" tickColor="#ffffff" > > > > > labels="[$0k,$3000000M]" liveDragging="true" width="182" > > > > > change="filterGrid()"/> > > > > > > > > > > > > > > > ------------------------------------ > > > > > > > > > > -- > > > > > Flexcoders Mailing List > > > > > FAQ: > > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > > > > 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." > > > > > > > > :: Josh 'G-Funk' McDonald > > > > :: 0437 221 380 :: josh@ > > > > > > > > > > > > > > > > > ------------------------------------ > > > > -- > > Flexcoders Mailing List > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > 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." > > :: Josh 'G-Funk' McDonald > :: 0437 221 380 :: [EMAIL PROTECTED] >

