dhtmlx grid failing on parse() in IE only

The issue is seen in IE only(chrome firefox works). I tested in IE 11(latest) and the synchronous function grid.parse(xml) seems to be failing to load the grid from xml data

The code for the grid is

    dhxLayout = new dhtmlXLayoutObject("dhxcontainer", '1C');      
    blkData = dhxLayout.cells('a');
    grdParticipants = blkData.attachGrid();

    grdParticipants.setIconsPath(dhx_iconpath);

loadPage(xml); //xml is the xml string that is received from server


function loadPage(xml){
    grdParticipants.parse(xml);


    //after grid  is loaded set the filter for the grid(assuming toolbar loads earlier than grid            
    lnameidx = grdParticipants.getColIndexById("Last Name");
    //format filter textboxes in grid and toolbar(fix for bootstrap css enlarging them)
    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"),grdParticipants.getColIndexById("Link")); //set a dummy filter for the link element and redefine it for email,fname lastname
    grdParticipants.getFilterElement(grdParticipants.getColIndexById("Link"))._filter = function(){
        var input = this.value.toLowerCase(); // gets the text of the filter input
        return function(value, id){
            var fnameval = __unescape(grdParticipants.cells(id,grdParticipants.getColIndexById("First Name")).getValue()); // gets the value of the current cell
            var lnameval = __unescape(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;
        };
    };    
    hideLoader();
    setdhxContainerSize();


}

What confuses me is that the parse() function executes without error but it has not loaded the grid yet, though it has been mentioned as an synchronous function. So the other variables like lnameidx, fltstatus & fltcompleted are undefined when i watch it. Again it happens only in IE 11.
We are using dhtmlx 5.0 pro version. Any suggestion guys please ??




This is how we fetch the data from the server.

            $.ajax({
                type:'POST',
                url: '/app/ajax_results/<?=$account->id ?>',
                data:onloadVars,       
                dataType:'text',             
                success:function(data){   
                    if(data != null){                    
                        loadPage(data);                      
                    }else alert("Please try again or contact the support team @ email!!"); 
                }
            });
            

If we use jquery to fetch the data, should we do anything before we use it in the parse function ?

Unfortunately the problem cannot be reproduced locally.
Could you please, share with a demo link or provide with a simplified complete demo, where the problem can be reconstructed locally.

hi,
Sorry for the delay. I have prepared a demo account for you and sent you the test credentials to the support email.
Please let me know if you need anything else.

Hi,

Please let us know if you faced any issue accessing the test site.
Also one quick question. Is there any difference in the xml format when used for the parse() function(from the one used in load()) ??
We are eagerly awaiting your findings…

-thanks,

hi semantik,

I think we have fixed the issue. For some weird reason, the grid.parse(data) does not like data as an object (json,xml etc) as returned by jquery ajax() function. We changed the dataType to ‘text’ and it fixed. This happens only in IE. Thank you for your time. Hope this is helpful for others who may find this issue…

You’re right.
Unfortunately the IE is sensitive to the content-type of the incoming data.

Regarding the other issue we have kept the test link open for Maria Evans(as per the email). Please confirm once you have analyzed the issue with the setColVAlign() in IE so that we can close the login link

hello everybody ,
i had the same issue , the grid didn’t load data in ie11 , what can i passe to method parse (i’m using datastore)
tempdata is an object of array in my case .

this is my code
datastore = new dhtmlXDataStore();
datastore.parse(tempData, “jsarray”);
mygrid.sync(datastore);

the error produce in the third line , what can I passe to .parse to correct this isssue ?

best regards
thanks.

Could you please, 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