Smart rendering displays blanks on scrolling

Hi guys,

I read through the forums in detail and it is written somewhere that this issue is resolved in 4.0.
I am using framework from dhtmlxSuite_v41_pro.zip and it seems to be still there.
The grid structure is given below:

ID First Name Last Name Email Survey Link Email Sent Key Decision Maker Seniority Country Brand Category Wave Region Agency Email Group Status Completed Completion Date Furthest Page Reached true true true 150 #rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#rspan,#select_filter,#select_filter,#rspan,#rspan

Initially when the values are displayed it fills the screen properly but when you start scrolling down(no resize of the window or anything like that has happened), randomly it becomes blank from a point(though it seems to display next rows according to scroll above this point). This mostly happens if you hold the scrollbar on the right and drag it down(at a certain point) with the mouse. But the blank region stays there till almost the end.
Any idea why its happening ?
The code related to grid in javascript is as shown below:

grdParticipants = blkData.attachGrid();
    //grdParticipants.enableExcelKeyMap();
grdParticipants.setIconsPath(dhx_iconpath);
    grdParticipants.attachEvent("onXLS", function(){
        blkData.progressOn();
    });
    
    grdParticipants.attachEvent("onXLE", function(){
        for(ci = 0 ; ci < grdParticipants.getColumnsNum() ; ci++) grdParticipants.adjustColumnSize(ci); //adjsut column width to laoded content
        grdParticipants.setColWidth(grdParticipants.getColIndexById("Status"),"125"); //special width to make combo viewable
        grdParticipants.setColWidth(grdParticipants.getColIndexById("Completed"),"150");
        blkData.progressOff();
        __setPartTBar();
    });
    grdParticipants.attachEvent("onRowSelect", function(id,ind){
        __setPartTBar();
    });
    grdParticipants.attachEvent("onRowDblClicked", function(rId,cInd){
        bulkedit();
    })
    grdParticipants.attachEvent("onFilterEnd", function(elements){
      __setPartTBar();  
    });
grdParticipants.load('/app/ajax_participants/<?=$account->id?>/getgridstruct',function(){
        //after grid  is loaded set the filter for the grid(assuming toolbar loads earlier than grid
        lnameidx = grdParticipants.getColIndexById("Last Name");
        //format filter objects in grid and toolbar
        tbrflttxtbox = tbrMgrParticipants.getInput("filtertxt");
        fltstatus = grdParticipants.getFilterElement(grdParticipants.getColIndexById("Status"));
        fltcompleted = grdParticipants.getFilterElement(grdParticipants.getColIndexById("Completed"));
        tbrflttxtbox.style.height = "14px";
        fltstatus.style.height = "24px";
        fltstatus.style.fontSize = "12px";
        fltcompleted.style.height = "24px";
        fltcompleted.style.fontSize = "12px";
        grdParticipants.makeFilter(tbrMgrParticipants.getInput("filtertxt"),0); //set a dummy filter for the link element and redefine it for email,fname lastname
        grdParticipants.getFilterElement(0)._filter = function(){
            var input = this.value.toLowerCase(); // gets the text of the filter input
            return function(value, id){
                var fnameval = grdParticipants.cells(id,grdParticipants.getColIndexById("First Name")).getValue(); // gets the value of the current cell
                var lnameval = grdParticipants.cells(id,lnameidx).getValue();
                var emailval = grdParticipants.cells(id,grdParticipants.getColIndexById("Email")).getValue();
        // checks if the value of a cell has the text from the filter 
                if (fnameval.toLowerCase().indexOf(input)!== -1 || lnameval.toLowerCase().indexOf(input)!== -1 || emailval.toLowerCase().indexOf(input)!== -1){ 
                    return true;
                }else return false;
            };
        };    

    }); //load grid structure,data

This does not happen at all if I dont use smart rendering.

Please help




That issue was fixed in 4.1 version.
Please, try to update your dhtmlx library or open ticket at support.dhtmlx.com and you will be provided with the fixed version of the dhtmlx components.

Ok…

But I am using the new 4.2 pro that came in the recent upgrade email.
Please help

I dont know if this was the right workaround but I used enablePreRendering(75).
It looks like its not bad as it was before. Please feel free to add any suggestions…

smart rendering should work correctly in 4.2 version.
If the problem still occurs for you please, open ticket at support.dhtmlx.com and provide with a complete demo, where the problem can be reconstructed locally.
Here you can find a tutorial about creating a complete demo:
docs.dhtmlx.com/tutorials__auxil … pport.html