Ir para conteúdo


Foto

[RESOLVIDO] Grid não carrega os dados


  • Por favor, faça o login para responder
3 respostas neste tópico

#1 dicantelli

dicantelli

    Iniciante

  • Membros
  • Pip
  • 2 posts

Postado 02 May 2012 - 12:16

Pessoal, estou com um problema para carregar os dados de um select em minha grid, o mais estranho é que eu so nao consigo
carregar os dados da pagina listar_solicitacoes.php, sendo que esta no mesmo diretorio das outras, o select dela esta ok, e pelo firebug
obtenho o seguinte retorno: stcCallback1001({"total":"7","resultado":[{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"}]})

já tentei bastante coisa e nada, se alguem puder me ajudar agradeço !

segue o codigo:

main.js
$(function(){

	function formatDate(value){
        return value ? value.dateFormat('d M, Y') : '';
    };
	
    function formatBoolean(value){
        return value == 1 ? 'Sim' : 'Não';  
    };
	
	var cm = new Ext.grid.ColumnModel(
		[
			{
				header: "Nome",
				dataIndex: 'nome',
				width: 220,
				sortable: true,
				editor: new Ext.grid.GridEditor(new Ext.form.TextField(
					{
						allowBlank: false						
					}
				))
			},			

			{
				header: "Descricao",
				dataIndex: 'descricao',
				width: 220,
				sortable: true,
				editor: new Ext.grid.GridEditor(new Ext.form.TextField(
					{
						allowBlank: false,
						//vtype:'email'
					}
				))
			},		

			{
				header: "Status",
				dataIndex: 'Status',
				width: 220,
				sortable: true,
				//renderer: formatDate,
				//editor: new Ext.grid.GridEditor(new Ext.form.DateField(
					//{
						//format: 'd/m/Y'
					//}
				//))
			},

			{
				header: "Receber Noticias",
				dataIndex: 'news',
				width: 220,
				renderer: formatBoolean,
				editor: new Ext.grid.GridEditor(new Ext.form.Checkbox())				
			}				
        ]
	);
    cm.defaultSortable = true;	
	
	ds = new Ext.data.Store({
		proxy:  new Ext.data.ScriptTagProxy({
			url:'listar_solicitacoes.php'
		}),
		reader:  new Ext.data.JsonReader({
			root: 'resultado', 
			totalProperty: 'total',
			id: 'nome'
		},
			[
				{name: 'nome', mapping: 'nome'},
				{name: 'descricao', mapping: 'descricao'}, 
				{name: 'Status', mapping: 'Status'},
				{name: 'news', mapping: 'news'}
			]
		)
	});

	var grid = new Ext.grid.EditorGrid('grid', {
        ds: ds,
        cm: cm,
        enableColLock:false		
    });	
	grid.render();

    var gridFooter = grid.getView().getFooterPanel(true);
    var paging = new Ext.PagingToolbar(gridFooter, ds, {
        pageSize: 15,
        displayInfo: true,
        displayMsg: 'Mostrando resultados {0} - {1} de {2}',
        emptyMsg: "Nenhum resultado retornado"
    });

    ds.load({params:{start:0, limit:15}});		
});


listar_solicitacoes.php
$inicio = isset($_GET['start']) ? $_GET['start'] : 0;
$limite = isset($_GET['limit']) ? $_GET['limit'] : 30 ;


$rs    = mysql_query("SELECT alu.nome 
							FROM Solicitacao sol 
							LEFT JOIN Aluno alu ON ( alu.CodAluno = sol.CodAluno )
							WHERE alu.CodAluno = 1 ");
							
$total = mysql_num_rows($rs);
$rs    = mysql_query("SELECT alu.nome 
							FROM Solicitacao sol 
							LEFT JOIN Aluno alu ON ( alu.CodAluno = sol.CodAluno )
							WHERE alu.CodAluno = 1 LIMIT $inicio, $limite ");
							
//echo $rs;



$arr = array();
while($obj = mysql_fetch_object($rs))
{
	$arr[] = $obj;
}


echo $_GET['callback'].'({"total":"'.$total.'","resultado":'.json_encode($arr).'})'; 

?>


#2 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 05 May 2012 - 22:40

dicantelli, pelo que entendi o seu JSON não está no formato correto, no caso tente retornar da forma abaixo:
{"total":"7","resultado":[{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"},{"nome":"diego"}]}
Sobre o Store vc utiliza a Classe Ext.data.ScriptTagProxy, porém como vc está utilizando a requisição no mesmo domínio vc poderia estar utilizando a Classe Ext.data.HttpProxy.
Veja se isso lhe ajuda.

"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)


#3 dicantelli

dicantelli

    Iniciante

  • Membros
  • Pip
  • 2 posts

Postado 22 May 2012 - 14:51

Consegui resolver o erro, valeu pela ajuda !

#4 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 23 May 2012 - 21:11

Consegui resolver o erro, valeu pela ajuda !

Por nada, precisando é só postar.

"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)





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

0 membros, 0 visitantes, 0 membros anônimos