Smart Rendering do not runs on scroll

Hi guys, a have a grid using json to load data in grid. This grid is created by a method of an object.

Everything looks good. I had enabled smart rendering option " gridPrincipal.enableSmartRendering(true, 40); " … but it do not parse new itens on grid on scroll. Looking o chrome debbug I could see that there wasnt any request to the server on scroll …

My Method that creates the grid on application:

this.iniciagridPrincipal = function (json)
{
var strLabel = “”;
var strIDCol = “”;
var strColWidth = “”;
var strColAlign = “”;
var strColSorting = “”;
var strColType = “”;
var strHeader = “”;
var arrayfnColValidators = [];

	for (var x =0; x<json.colunas.length; x++) //var x = 0; x < json.abas.length; x++
	{
		var Label = new String(json.colunas[x].label);
		strLabel = strLabel + Label + ",";
		
		var IDCol = new String(json.colunas[x].name);
		strIDCol = strIDCol + IDCol + ",";
		
		var ColWidth = new String(json.colunas[x].ColWidth);
		strColWidth = strColWidth + ColWidth + ",";
		
		var ColAlign = new String(json.colunas[x].ColAlign);
		strColAlign = strColAlign + ColAlign + ",";
		
		var ColSorting = new String(json.colunas[x].ColSorting);
		strColSorting = strColSorting + ColSorting + ",";
		
		var ColType = new String(json.colunas[x].ColType);
		strColType = strColType + ColType + ",";
		
		var Header = new String(json.colunas[x].Header);
		strHeader = strHeader + Header + ",";
		
		arrayfnColValidators.push(json.colunas[x].fnColValidators); /* [ "NotEmpty,ValidInteger", "ValidEmail", null, null, null, "ValidDate" ] */
	}
	
	// tira virgula do final
	strLabel = strLabel.substring(0,(strLabel.length -1));
	strIDCol = strIDCol.substring(0,(strIDCol.length -1));
	strColWidth = strColWidth.substring(0,(strColWidth.length -1));
	strColAlign = strColAlign.substring(0,(strColAlign.length -1));
	strColSorting = strColSorting.substring(0,(strColSorting.length -1));
	strColType = strColType.substring(0,(strColType.length -1));
	strHeader = strHeader.substring(0,(strHeader.length -1));

	gridPrincipal = layoutBuscar.cells(json.container).attachGrid();
	gridPrincipal.setImagePath(strImagensDir);		
	
	gridPrincipal.setHeader(""+strLabel+"");
	gridPrincipal.setColumnIds(""+strIDCol+"");
	gridPrincipal.setInitWidths(""+strColWidth+"");
	gridPrincipal.setColumnMinWidth(150,100);
	gridPrincipal.setColAlign(""+strColAlign+"");
	gridPrincipal.setColTypes(""+strColType+"");
	
	gridPrincipal.setColSorting(""+strColSorting+"");
	
	
	gridPrincipal.setSkin("dhx_skyblue");
	
	gridPrincipal.enableBlockSelection();
	//gridPrincipal.enableAlterCss("even", "uneven");
	gridPrincipal.enableCellIds(true);
	
	gridPrincipal.enableKeyboardSupport(true);
	gridPrincipal.enableMultiselect(true);
	
	NomedoModulo.gridPrincipalIniciaMenuContextual(json);
	
	if (json.permitidoEditarNaGrid)
	{
		/* gridPrincipal.enableEditEvents(false,true,true); */
		gridPrincipal.enableValidation(true, true);
		gridPrincipal.setColValidators(arrayfnColValidators); 
	}
	else
	{
		gridPrincipal.enableEditEvents(false, false, true);
	}
	
	
	gridPrincipal.attachEvent("onBeforeSorting",function(ind, gridObj, direct)
	{
		layoutBuscar.cells("b").progressOn();
		gridPrincipal.setSortImgState(true,ind,direct);
		gridPrincipal.clearAndLoad(json.dataSource+"?direcao="+direct+"&coluna="+ind, function ()
		{
			layoutBuscar.cells("b").progressOff();
			if(CommerceManager.isLog)
			{
					CommerceManager.log("gridPrincipal ordenada");						
			}
		}, json.dataSourceType);
        return false;
	});
	
	gridPrincipal.attachEvent("onRowDblClicked", function (id)
	{
	    if(CommerceManager.isLog)
		{
			CommerceManager.log("Duplo clique sobre a linha "+id+" da grid Principal selecionada");						
		}
		if (! json.permitidoEditarNaGrid)
		{
			NomedoModulo.abreWindowEdita(1);
		}
		return true;
	});
	
	gridPrincipal.attachEvent("onEditCell", function (stage,rId,cInd,nValue,oValue)
	{
		if (stage==1)
	    {		
			if(CommerceManager.isLog)
			{
				CommerceManager.log("Célula "+cInd+" da grid preparada para edição na linha "+rId+"");						
			}
			var colunaAberta = CommerceManager.pega("c_"+rId+"_"+cInd+"").getElementsByTagName("input");
			var input = colunaAberta[0];
			input.onkeypress = function()
			{
				if(CommerceManager.isLog)
				{
					//CommerceManager.log("Célula "+cInd+" da grid preparada para edição na linha "+rId+"");
					CommerceManager.log("Input c_"+rId+"_"+cInd+" alterado para " + this.value);
				}
				
				/* fazer validacao aqui */
				
				
			};
			
			//c_1002_1
			
			return true;
		}
		else if (stage==2)
	    {
	        if (nValue!=oValue)
	        {
	            var msg="Valor alterado de "+oValue+" para "+nValue+" na célula "+cInd+" da linha "+rId+"";
				
				if(CommerceManager.isLog)
				{
					CommerceManager.log(msg);						
				}
				
				/* fazer validacao aqui */
				
	            /* window.parent.atencao(msg); */
				
				return true;
	        }
			else
	        {
	            if(CommerceManager.isLog)
				{
					CommerceManager.log("Nenhuma informação alterada na célula "+cInd+" da linha "+rId+"");						
				}
				
				return true;
				/* window.parent.atencao("nada alterado"); */
	        }
	    }
	});
	
	gridPrincipal.attachEvent("onDistributedEnd", function()
	{
    	if(CommerceManager.isLog)
		{
			CommerceManager.log("Dados parseados na grid");						
		}
    });
	
	gridPrincipal.attachEvent("onScroll", function(sLeft, sTop)
	{
		if(CommerceManager.isLog)
		{
			/* CommerceManager.log("Rolagem na grid");	*/					
		}
		return true;
	});
	
	gridPrincipal.attachEvent("onClearAll", function()
	{
		if(CommerceManager.isLog)
		{
			CommerceManager.log("Grid limpa");						
		}	
	});
	
	gridPrincipal.attachEvent("onKeyPress", function (code, ctrl, shift)
	{
	    var idgrid = gridPrincipal.getSelectedRowId();
		if (code==46  && shift) /* delete */ 
	    {
	        if(CommerceManager.isLog)
			{
				CommerceManager.log("Tecla DELETE pressionada sobre a linha "+idgrid+" da grid Principal ");						
			}
			if (window.confirm('Deseja realmente excluir?'))
	        {
				gridPrincipal.deleteSelectedItem();
				window.parent.atencao('excluído com sucesso');
	        }
	    }
	    if (code==13  && shift) /* enter */ 
	    {
			if(CommerceManager.isLog)
			{
				CommerceManager.log("Tecla ENTER pressionada sobre a linha "+idgrid+" da grid Principal ");						
			}
			
			if (gridPrincipal.getSelectedRowId())
			{
				NomedoModulo.abreWindowEdita(1);
			}
	    }
		
		if (code == 67 && ctrl) 
		{
			if (!gridPrincipal._selectionArea)
			{
				return alert("Selecione um bloco de informações antes de copiar");
			}
			else
			{
				gridPrincipal.setCSVDelimiter("\t");
				gridPrincipal.copyBlockToClipboard();
			}
		}
		if (code == 86 && ctrl) {
			gridPrincipal.pasteBlockFromClipboard();
		}
		
	    return true;
	});
	gridPrincipal.attachEvent("onRowSelect", function (id)
	{
		if(CommerceManager.isLog)
		{
			CommerceManager.log("Linha "+id+" da grid Principal selecionada ");						
		}
		
		if (json.expandirOnSelectItem)
		{
			layoutPrincipal.cells(json.idCelulaexpandirOnSelectItem).expand();
		}
		
		NomedoModulo.iniciaPainelTabOnSelecItem(json.confAbasOnSelecItem);
		
		NomedoModulo.visualizaRapido();
		
		NomedoModulo.iniciaformEditarRapido(json);
		
		layoutPrincipal.cells("b").showHeader(); /* forca mostrar header, bug esconde header ao attach tabbar */
		
		return true;
	});
	

	gridPrincipal.init();
	gridPrincipal.enableSmartRendering(true, 40);
	
	
	
	gridPrincipal.load(json.dataSource, function ()
	{
		gridPrincipal.attachHeader(""+strHeader+"");
		gridPrincipal.setSizes();
		if(CommerceManager.isLog)
		{
			CommerceManager.log("Dados gridPrincipal parseados");						
		}
	}, json.dataSourceType);	
	/* gridPrincipal.parse(json.dataSource,"json"); */
	/* gridPrincipal.sync(dataStore); */
	
	/* processor */ 
	if(json.usarDataProcessor)
	{
		NomedoModulo.criaProcessor({
			tipo : "grid",
			obj : gridPrincipal,
			iAssociativo : "gridPrincipal",
			strURL : json.urlProcessor,
			arrayColunas : json.colunas,
		});
	}
	
	if(CommerceManager.isLog)
	{
		CommerceManager.log("Grid gridPrincipal iniciada");						
	}
};

Code looks valid, but what is the data returned by call to

gridPrincipal.load(json.dataSource,

it must be

  • valid xml or json, without HEAD section in case of XML
  • it must contain total_rows parameter|attribute