Searching an item within Array, Arraycollection
Searching Within the Array
We all know Array and Arraycollection provides the facilities of doing sort in themselves but some times there are needs to search the Array/Arraycollection depending on the entered search term. So that is something which we need to implement. So here is the simple logic to search the item in the Array/Arraycollection
<?xml version=”1.0″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” initialize=”initApp()”>
<!–Shashank Kulkarni–>
<mx:Script>
<![CDATA[
import mx.utils.StringUtil;
import mx.utils.ObjectUtil;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
private var arr:Array= new Array('Shashank', 'Tushar', 'Ashish','Kailas','Rahul','Pankaj','Shrikant','Amol','pravin');
[Bindable]
private var ac:ArrayCollection= new ArrayCollection([{Name:'Shashank'}, {Name:'Tushar'}, {Name:'Ashish'},{Name:'Kailas'},{Name:'Rahul'},{Name:'Pankaj'},{Name:'Shrikant'},{Name:'Amol'},{Name:'pravin'}]);
private var resultAC:Array;
private function initApp():void
{
dgList.dataProvider = ac;
txtResult.text = ”;
txiSearch.text = ”;
}
private function search():void
{
resultAC = new Array();
for(var i:int=0;i<arr.length;i++)
{
var tempArr:Array = new Array();
var str:String = String(arr[i]).toLowerCase();
tempArr = str.match(StringUtil.trim(txiSearch.text).toLowerCase());
if(tempArr!=null)
{
if(tempArr.index==0)
{
resultAC.push({Name:arr[i]});
}
}
}
assignValues();
}
private function searchAc():void
{
resultAC = new Array();
for(var i:int=0;i<ac.length;i++)
{
var tempArr:Array = new Array();
var str:String = String(ac[i].Name).toLowerCase();
tempArr = str.match(StringUtil.trim(txiSearch.text).toLowerCase());
if(tempArr!=null)
{
if(tempArr.index==0)
{
resultAC.push({Name:ac[i].Name});
}
}
}
assignValues();
}
private function assignValues():void
{
dgList.dataProvider = resultAC;
txtResult.text = ”;
for(var j:int=0;j<resultAC.length;j++)
{
txtResult.text = txtResult.text + ObjectUtil.toString(resultAC[j].Name);
}
}
]]>
</mx:Script>
<mx:Label text=”Enter Search Term :” x=”116” y=”26“/>
<mx:TextInput id=”txiSearch” x=”284” y=”24” enter=”search()”/>
<mx:Button id=”Search” label=”Search Array Item” click=”search()” x=”114” y=”65“/>
<mx:Button id=”SearchAc” label=”Search ArrayCollection Item” click=”searchAc()” x=”280” y=”65“/>
<mx:Text x=”174” y=”139” id=”txtResult“/>
<mx:Label x=”477” y=”26” text=”Searches Within Array On Direct Enter“/>
<mx:DataGrid x=”153” y=”195” id=”dgList“>
<mx:columns>
<mx:DataGridColumn headerText=”Name” dataField=”Name“/>
</mx:columns>
</mx:DataGrid>
<mx:Button x=”341” y=”247” label=”Refresh” click=”initApp()”/>
</mx:Application>
Best Luck ![]()
Thanks and regards
Shashank Kulkarni
Feel free to mail me
shashank.pawan@gmail.com
Recent Comments