Ir para conteúdo


Foto

Performace do Ext.ux.grid.GridFilters


  • Por favor, faça o login para responder
Não há respostas para este tópico

#1 iza_reis

iza_reis

    Member Avançado

  • Membros
  • PipPipPip
  • 36 posts

Postado 26 March 2012 - 10:27

Pessoal bom dia

Tenho um grid que tem um filtro que faz a consulta no banco de dados em 20sg , mas quando vai exibir na aplicação ele só fica carregando e não exibe os dados. Já modifiquei o tempo de resposta do php para 1 minuto e o timeout do JSON para 1 minuto .

Acho que o problema pode ser no plugin de filtros pois sem a filtragem ele executa normalmente .

Gostaria de saber se alguém sabe alguma forma de otmizar o plugin Ext.ux.grid.GridFilters ??? ??? ???

Segue o meu código abaixo:

gal.bmh.entradaresultados.Listagem = function (config) {
	
	Ext.apply(this, config);
	
	this.layout = 'fit';
	
	this.viewConfig = {
        forceFit: true
    };
	
	this.store = new Ext.data.Store({
		remoteSort: true
		, baseParams: {limit: 20, method: 'post'}
		, sortInfo: {field: 'requisicao', direction: 'DESC'}
		, proxy: new Ext.data.HttpProxy({
			url: gal.URL('/bmh/entrada-resultados/lista/')
			, timeout: 60000
		}),
		
		reader: new Ext.data.JsonReader({
			root: 'dados'
	        , totalProperty: 'total'
			, fields: ['codigo','codigoAmostra', 'requisicao', 'paciente', 'exame', 'metodo', 'material', 'numeroAmostra', 'origem', 'dataRecebimento', 'dataColeta', 'status','bancada','setor','nuInterno','codExame','codMetodo','st_restricao']
		})
	});
	
	this.columns = [{
		header: 'Cód. Exame'
		, dataIndex: 'codigo'
		, sortable: true
		, width: 80
	}, {
		header: 'Requisição'
		, dataIndex: 'requisicao'
		, sortable: true
	}, {
		header: 'Nu. Interno'
		, dataIndex: 'nuInterno'
		, sortable: true
		, hidden: true
	}, {
		header: 'Paciente'
		, dataIndex: 'paciente'
		, sortable: true
		, width: 200
		
	 }, {
        header: 'Setor'
        , dataIndex: 'setor'
        , width: 100
        , sortable: true
		
	}, {
        header: 'Bancada'
        , dataIndex: 'bancada'
        , width: 100
        , sortable: true
		, hidden: true
	}, {
		header: 'Sig.Exame'
		, dataIndex: 'codExame'
		, sortable: true
		, hidden: true
	}, {
		header: 'Exame'
		, dataIndex: 'exame'
		, sortable: true
	}, {
		header: 'Sig.Metodo'
		, dataIndex: 'codMetodo'
		, sortable: true
		, hidden: true
	}, {
		header: 'Metodologia'
		, dataIndex: 'metodo'
		, sortable: true
	}, {
		header: 'Material'
		, dataIndex: 'material'
		, sortable: true
	}, {
		header: 'Amostra'
		, dataIndex: 'numeroAmostra'
		, renderer: function (value) {
					
				if (value == 0) {
			
			   		 return 'Unica';
				}
				else {
					return value + 'ª amostra';
				}  	
			}
	        , width: 50
		
	},{
		header: 'Restrição'
		, dataIndex: 'st_restricao'
		,renderer: function (value) {
			if(value == 1)
			   return 'Sim'; 
			     return 'Não';
				
		}
		, sortable: true
	}, {
		header: 'Cód. Amostra'
		, dataIndex: 'codigoAmostra'
		, sortable: true
		, hidden: true
	}, {
		header: 'Dt. Coleta'
		, dataIndex: 'dataColeta'
		, sortable: true
		, hidden: true
	}, {
		header: 'Lab. Origem'
		, dataIndex: 'origem'
		, sortable: true
	}, {
		header: 'Dt. Recebimento'
		, dataIndex: 'dataRecebimento'
		, sortable: true
	}, {
		header: 'Status'
		, dataIndex: 'status'
		, renderer: function (v) {
						
			if (v == 2)
				return '<span style="color:#8b4513;">Exame em Análise</span>';
			else if (v == 4)
				return '<span style="color:green;">Resultado Cadastrado</span>';
			
			return '';
		}
		, sortable: true
	}];
	
	
	this.filtros = new Ext.ux.grid.GridFilters({
		filters: [{
            type: 'numeric'
            , dataIndex: 'codigo'
        }, {
            type: 'string'
            , dataIndex: 'requisicao'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'paciente'			
	    }, {
	        type: 'stringPadrao'
	        , dataIndex: 'setor'
	    },{
	        type: 'stringPadrao'
	        , dataIndex: 'bancada'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'codExame'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'exame'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'codMetodo'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'metodo'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'material'
        }, {
            type: 'numeric'
            , dataIndex: 'numeroAmostra'			
		}, {
            type: 'numeric'
            , dataIndex: 'codigoAmostra'
        }, {
            type: 'stringPadrao'
            , dataIndex: 'origem'
        }, {
			type: 'date'
            , dataIndex: 'dataRecebimento'
			, dateFormat: gal.DATE_FORMAT
		}, {
			type: 'date'
            , dataIndex: 'dataColeta'
			, dateFormat: gal.DATE_FORMAT
		}, {
            type: 'list'
            , dataIndex: 'status'
			, options: [[2, 'Exame em Análise'], [4, 'Resultado Cadastrado']]
			, phpMode: true
        }, {
            type: 'stringPadrao'
            , dataIndex: 'nuInterno'
        }]
	});	


	this.btPdf = new gal.ux.grid.ExportarPdf({
		grid: this
		, url: '/bmh/entrada-resultados/lista-pdf/'
	});
	
	this.btCsv = new gal.ux.grid.ExportarCsv({
		grid: this
		, url: '/bmh/entrada-resultados/lista-csv/'
	});
	
	this.bbar = new Ext.PagingToolbar({
		pageSize: 20
        , store: this.store
        , displayInfo: true
		, items: ['-', 'Exportar listagem: ', this.btPdf, this.btCsv]
	});
	
	this.plugins = [this.filtros, new gal.ux.grid.Navegacao(), new gal.ux.grid.FiltroContexto()];

}

Preciso muito da ajuda de vocês , pois não posso retirar os filtros que são muito usados pelos usuários.

Abs




0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos