Hi FlexCoders,
I have this very strange bug which I don't have any idea why it is happening.
Basically, I have a datagrid which I am populating with an ArrayCollection
data. The array collection is being populated through via XML which I am
retrieving from a web service.
When the record reaches more than 4000 records, the search functionality I
implemented in my datagrid does not seem to fire up anymore.
Here are snippets of my codes:
private function searchFilterGrid(e:Event) :void
{
e.stopImmediatePropagation()
if(txtSearch.text == '')
{
arrDP.filterFunction = null;
}
else
{
arrDP.filterFunction = textFilter;
}
arrDP.refresh();
}
private function textFilter(item:Object) :Boolean
{
switch(cmbColumns.text)
{
case "Booking Code":
return item.BK_CODE.toLowerCase().indexOf(txtSearch.text.toLowerCase()) !=
-1;
case "Booking Code Description":
return item.BK_CODE_DESC.toLowerCase().indexOf(txtSearch.text.toLowerCase())
!= -1;
default:
return false;
}
}
I invoke the searchFilterGrid function on the change event of the textInput
control:
<mx:TextInput id="txtSearch" width="200" change="searchFilterGrid(event)" />
If I searched the Booking Code, even if the record is more than 4000, I am able
to display the result. But when I try to search the Booking Code Description,
when the record count is more than 4000, search and filter functionality does
not fire up.
Any ideas/advice? Thanks.