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.


      

Reply via email to