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:
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