Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

DataGrid completo

Recommended Posts

Saudações !!!

Colegas, os meus grids estão funcionando, mas estou tendo problemas com a acentuação, já bati cabeça e não consegui resolver, alguém pode me ajudar, veja como está o meu update e listar.

Não consegui usar o utf8_encode no listar ...

Aceito sugestões.

 

//AÇÃO LISTA UNIDADES

 

$rs = mysql_query("SELECT * FROM unidade");

$total = mysql_num_rows($rs);

 

$rs = mysql_query("SELECT * FROM unidade LIMIT $inicio, $limite");

 

$arr = array();

while($obj = mysql_fetch_object($rs))

{

$arr[] = $obj;

}

 

echo '({"total":"'.$total.'","dados":'.$json->encode($arr).'})';

 

//ALTERA UNIDADES

 

$campo = strtolower($_POST['campo']);

$valor = utf8_decode($_POST['valor']);

$unidade_id = $_POST['unidade_id'];

 

mysql_query("UPDATE unidade SET $campo = '$valor' WHERE unidade_id = $unidade_id");

echo "{success:true}";

 

 

Veja exemplo funcionando no link abaixo: Com problemas na acentuação ....

http://www.estacao13.com/teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe.. ultima vez que eu tento arrumar isso, depois eu vou partir para um POG mesmo..

ei Falci qual eh a duvida? nãodesiste cara..nao eh dificil ..eh so questao de pratica....o resultado eh bem recompensador..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colegas, os meus grids estão funcionando, mas estou tendo problemas com a acentuação, já bati cabeça e não consegui resolver, alguém pode me ajudar, veja como está o meu update e listar.

Não consegui usar o utf8_encode no listar ...

Aceito sugestões.

fala ai Celso...no meu ta funcionando assim:

$i=0;
	while($rec = mysql_fetch_object($result)){
	  $arr[] = $rec;
	  foreach ($arr[$i] as &$value)
	  {
		  $value = utf8_encode($value);
	  }
	$i++;
	}
tenta ai ok!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colegas, os meus grids estão funcionando, mas estou tendo problemas com a acentuação, já bati cabeça e não consegui resolver, alguém pode me ajudar, veja como está o meu update e listar.

Não consegui usar o utf8_encode no listar ...

Aceito sugestões.

fala ai Celso...no meu ta funcionando assim:

$i=0;
	while($rec = mysql_fetch_object($result)){
	  $arr[] = $rec;
	  foreach ($arr[$i] as &$value)
	  {
		  $value = utf8_encode($value);
	  }
	$i++;
	}
tenta ai ok!

 

Rony ... valeu pela resposta ...mas não funcionou aqui .....o que será que está errado ....observei que ele grava certinho no banco ...mas mostra no grid errado ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal, não estou conseguindo colocar o grid dentro de página com abas, ele não respeita o <div>, alguém tem alguma idéia de como fazer isso ...

Agradeço qualquer ajuda...

Grato,

Celso Amaral

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltei..

 

Rony: Vou tentar dinovo intaum..

 

olha como tá: link

 

o combobox é o ultimo item do grid, muda alguns e você vai ver onde tá errado... num quero que fique esses numeros..

Compartilhar este post


Link para o post
Compartilhar em outros sites

o combobox é o ultimo item do grid, muda alguns e você vai ver onde tá errado... num quero que fique esses numeros..

fala ai Falci....com certeza você ta trocando o value/text...coisa bem facil de resolver....retira as outras colunas do grid e deixa so o combo e manda o codigo pra gente tentar ajudar....flw!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola, alguém trabalha com o sql server2000? Estou tendo problemas em paginar, como posso resolver o problema do start / limit no exemplo 6? grato

aqui mesmo no forum tem algumas dicas: http://forum.imasters.com.br/index.php?showtopic=148736

e na net tbm...faz uma busca simples no google q você vai encontrar ok!

 

Olá, realmente no forum e no google eu encontro várias formas de fazer a paginação, mas o que realmente eu queria era fazer a paginação no DataGrid 6. Quando eu clico na seta do grid para ele ir para a próxima página ou página anterior, qual a ação ou qual o evento que é carregado? No main.js na última linha o start está assim ds.load({params:{start:0,limit:15}});

Quando mando ele carregar o grid, ele joga o valor "0" na variável $inicio. Se eu altero o start para 10 ele joga 10 mas os dados no grid não mudam.É como se o start sempre ficasse no zero. Obrigado mesmo assim, já tentei com o fabyo, o idealizador da obra, mas ele também não pode ou não quis me ajudar. Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre esse novo exemplo que o Fabyo postou...

 

Datagrid extjs 2.x nova versao

 

Funciona tudo ok... mas to tentando colocar uma caixa de busca tipo a do exeplo 6 mas não consigo.. alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sabemos como pegar o valor de um campo....

Ext.get('nome').getValue()

 

mas como setar um valor para o campo quando abre a janela do incluir novo registro... por exemplo.. se quero setar um valor x pra um dos campos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Fábio.. tinha acha no forum do ext em um exemplo seu lá. :D

 

Agora ficou outra dúvida.. estou tentando pegar o campo selecionado..

 

no seu exemplo voce usa selectedKeys = grid.selModel.selections.keys isto retorna o codigo do registro aqui.. mas tipo.. se na grid tiver por exemplo 3 campos... como faço para pegar o valor que está em um dos determinados campos?

 

No manul do ext vi sobre getSelection() e getSelected() mas tentei usar ambos..

 

tentei assim

var descricao = grid.getSelections();

e assim

var descricao = grid.selModel.getSelections();

 

 

mas quando manda um Ext.getCmp('nome').setValue(descricao[x])

 

retorno no campo [Object] e passando apenas descricao retorna a mesma coisa....

 

Valeu pelos exemplos que você colocou aqui.. muito uteis!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sobre a parte do pesquisar... no exemplo do ext2 a grid está assim....

tbar: [		
			{		
				text: 'Novo',
				iconCls:'add', 
				tooltip: 'Novo Funcionario',
				handler : function(){	
					novo();
				}
			}, '-',
				
			{
				text: 'Deletar registro',
				tooltip: 'Clique para Deletar um registro(s) selecionado',
				handler: function(){
					var selectedKeys = grid.selModel.selections.keys; 
					if(selectedKeys.length > 0)
					{
						Ext.MessageBox.confirm('Alerta', 'Deseja deletar esse registro?', function(btn) {
							if(btn == "yes"){	
								var selectedRows = grid.selModel.selections.items;
								var selectedKeys = grid.selModel.selections.keys; 
								var encoded_keys = Ext.encode(selectedKeys);
			
								Ext.Ajax.request(
								{ 
									waitMsg: 'Executando...',
									url: 'deletar.php',		
									params: { 
										id_funcionario: encoded_keys,
										key: 'id_funcionario'										
									},
										
									callback: function (options, success, response) {
										if (success) { 
											Ext.MessageBox.alert('OK', response.responseText);
											var json = Ext.util.JSON.decode(response.responseText);
												if(json.del_count == 1){
													mens = "1 Registro deletado.";
												} else {
													mens = json.del_count + " Registros deletados.";
												}
												Ext.MessageBox.alert('Alerta', mens);
											} else{
												Ext.MessageBox.alert('Sorry, please try again. [Q304]',response.responseText);
											}
										},
										
										failure:function(response,options){
											Ext.MessageBox.alert('Alerta', 'Erro...');
										},									  
										success:function(response,options){
											ds.reload();
										}									  
									 } 
								);						
							}	
						});
					}
					else
					{
						Ext.MessageBox.alert('Alerta', 'Por favor selecione uma linha');
					}
				}, 
				iconCls:'remove' 
			}
		]

e no exemplo 6

var tb = new Ext.Toolbar(			
			gridHeaderPanel,
			[ continua.....

//e neste ponto

tb.add({
		text: 'Pesquisa:',
		tooltip: 'Digite um nome'
	});
	var sftb = tb.addDom({
		tag: 'input',
		id: 'quicksearch',
		type: 'text',
		size: 30,
		value: '',
		style: 'background: #F0F0F9;'
	});
	var searchStore = new Ext.data.SimpleStore({
		fields: ['nome'],
		data: []
	});
	var searchBox = new Ext.form.ComboBox({
		store: searchStore,
		displayField: 'Nome',
		typeAhead: false,
		mode: 'local',
		triggerAction: 'all',
		hideTrigger: true
	});
	searchBox.applyTo('quicksearch');
	tb.add({
		text: 'X',
		tooltip: 'Clear quicksearch',
		handler: function() {
			if (searchBox.getValue().length!=0) {
				searchBox.setValue('');
				ds.clearFilter();
			}
		}
	});
	var searchRec = Ext.data.Record.create([
		{name: 'nome', type: 'string'}
	]);

parece ser 2 jeitos diferentes de criar a mesma barra ou estou enganado?

 

pois não consegui colocar essa parte da pesquina no exemplo do ext2......

Compartilhar este post


Link para o post
Compartilhar em outros sites

ha! 3 dias tentando entender como funciona esse esquema e até agora nada..

eu utilizo o zend então estou com dificuldades para adaptar..

 

nao desisto nao... heauehauhe

 

mas pelos exemplos de grid do site do ext me deixa cada vez mais estigado para aprender isso..

 

parabens Fabyo pelo post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leandro, não tem muito segredo em usar ele com o ZF, vai ser quase a mesma coisa, você vai ter que por fazer a consulta no db com o zend e retornar o resultado em JSON. E mandar o grid ler a página que você ta retornando o JSON...

 

Por exemplo, você faiz a consulta e o retorno de dados no IndexController.php, na função resultadoJsonAction (acho que é assim), ai manda o JSON Store do grid ler essa página -> index/resultadoJson...

 

Para o grid não importa a maneira em que você manda os resultados para ele, você pode mandar em ASP, PHP, JSP... Ele só necessita em que esteja no formato JSON.

 

Para transformar as consultas feitas no db e transformalás em JSON, da uma lida aqui -> Zend_JSON

Nesse screencast -> Grid com Paginação, ele monta um grid com ext, pegandos os resultados do wordpress, com esse video eu dei uma intendida geral sobre o grid. Eu vo monta um grid no final de semana pra ve se eu consigo, mais a lógica é essa ai...

 

Flw, vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, sim.. o esquema do Zend eu sei, as pesquisas s tal, tudo feito! porém não estou conseguindo montar meu json no formato correto para ser lido no grid...

 

vou quebrar a cabeça um pouco mais antes de fazer um post com os erros e tal..

enquanto isso vou seguindo os posts do pessoal aqui.

 

Obrigado pela atenção!

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

como em outro post.. meu fetchAll está assim:

 

tenho um controlador chamado Json com um metodo modFuncao, que por sua vez tem o seguinte conteudo:

public function modfuncaoAction()
	{
		$this->_helper->layout()->setLayout('layoutjson');
		$tblFuncao = new Funcao(); // cria tabela
		$pegaDados = $tblFuncao->fetchAll(); 
		$this->view->dados = $pegaDados; // joga o resultado do fetchall na view
	}

e em sua respectiva view tem o seguinte:

<?php
$return = array();
$i = 1;
$return['total'] = "2"; // só tem dois no banco, só simulando ok?depois faço corretamente
foreach($this->dados as $dados)
{
	$return[$i]['id']	 = $dados->ID;
	$return[$i]['funcao'] = utf8_encode($dados->Funcao);
	$return[$i]['salario']= $dados->Salario;
	$i++;
}
$json = Zend_Json::encode($return);
print_r($json);
?>

no print está retornando o seguinte:

{"total":"2","1":{"id":"1","funcao":"Aux. de Conferente","salario":"598,16"},"2":{"id":"2","funcao":"Ajudante Geral","salario":"570,27"}}

 

se eu printar a var $return vem dessa maneira:

Array ( [total] => 2 [1] => Array ( [id] => 1 [funcao] => Aux. de Conferente [salario] => 598,16 ) [2] => Array ( [id] => 2 [funcao] => Ajudante Geral [salario] => 570,27 ) )

 

Oque pode ter de errado?

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.