Dúvida! filterfunction em dados do Banco

5 respostas
I

Ola a todos!!!
Estou com uma dúvida sobre a função filterFunction do flex. Não tô conseguindo filtrar informações do meu ArrayCollection, em todos os tutoriais e exemplos que vi na internet, os dados são criados no proprio Script, e logo em seguida vem duas ou tres funções pra fazer a filtragem. Porém no meu caso, eu nao crio os dados no script eles vem do banco. Segue a parte que crio o arraycollection:

public function buscaItens(evt:ResultEvent):void {

if(evt.result.busca=="OK") {
	
	[b]dataGridData = new ArrayCollection[/b];
	
	dataGridData = evt.result.detalhes;
			
	meusDados.dataProvider=dataGridData;

tlImoveis.dataProvider=dataGridData;

}// Fim lidaBusca

e depois meu datagrid:

<mx: DataGrid x=“10” y=“36” width=“663” id=“meusDados” dragEnabled=“true” height=“406” creationComplete=“nossoObjecto.imoveis.send()” >

desde já Agradeço abraços a todos

5 Respostas

F

Vc precisa aplicar o filterFunction e depois o refresh().

public function buscaItens(evt:ResultEvent):void {

if(evt.result.busca=="OK") {
   dataGridData = evt.result.detalhes;
   dataGridData.filterFunction = filtraDados;
   dataGridData.refresh();

   meusDados.dataProvider=dataGridData;

   tlImoveis.dataProvider=dataGridData;
}

private function filtraDados(item:Object):Boolean {
     // condição de filtragem
}
I

então fabio, fiz isso, mas os dados somem da datagrid nao fia nenhum…
Obrigado pela atenção

AUser

Coloca o código do seu filter.

I

As duas funções que usei, a primeira é chamada pelo comboBox cbBairro, a segunda é o proprio filtro

//função que é chamada pelo comboBox usando change="filtrando"


private function filtrando():void{
	
	dataGridData.filterFunction = filtraDados;
	
		dataGridData.refresh();
}

private function filtraDados(item:Object):Boolean {
	//condições de filtragem
	
	var encontra:Boolean = false;
	var selBairro:String = cbBairro.selectedItem.toString();
	if(item.im_Bairro.toLowerCase().search(selBairro.toLowerCase()) != -1) encontra = true;
	else encontra = false;
  		return encontra; 
		 
	
}
Bruno_Cebim

Aparentemente ta tudo certo, da uma conferida se a var “selBairro” ta sendo carregada corretamente.
Mais tarde posto um exemplo aqui, pra ajudar.

[]'s

Criado 26 de fevereiro de 2010
Ultima resposta 28 de fev. de 2010
Respostas 5
Participantes 4