Call to mygrid.updateFromXML(XML); results in script error

Hi,



I’m using the free version of the grid in combination with the toolbar on one page. On loading the page I call the function mygrid.loadXML(XMLFile). The grid is display correctly with no problem. I have a button on the toolbar in to OnClick event of the button mygrid.updateFromXML(XMLFile) is called. After a time IE comes with a Script error “Object doesn’t support this property or method” in line 559 in the index.php file. Funny as my index.php file (and result) have only 144 lines.



The xml file looks like bu with 1244 rows.

<?xml version="1.0" encoding="UTF-8" ?>







800425

Goldmann

A. Bertram Chandler

Grimes reist in die Unendlichkeit

Abenteuer Randwelt 1

Deutsch

3-442-23756-4



5.80 DM

undefined

SCIENCE FICTION



2001-08-17

1988-09-01







800426

Goldmann

A. Bertram Chandler

Grimes auf El Dorado

Abenteuer Randwelt 2

Deutsch

3-442-23757-2



5.80 DM

undefined

SCIENCE FICTION



2001-08-17

1988-09-01







the source looks like:











































Which version of grid you are using?
Issue can’t be reconstructed with latest version. Latest dhtmlxgrid.js ( standard edition ) and sample attached to post.

dhtmlxgrid.zip (32.8 KB)
1218019199.zip (92.5 KB)


Yes your example is working correctly. But when I change the code like this I get the same error as on my app. I’m using v.1.6 build 80603 of the grid. Problem persists with the attached version of the grid.



//mygrid.attachEvent(“onRowDblClicked”,onRowDblClicked);



    mygrid.loadXML(“500.xml”);








As I want to reload the xml (because the data in the database has changed), I’m loading the same XML again.

Problem in IE confirmed and fixed
Fixed version of js file attached to post.

dhtmlxgrid_fix.zip (32.8 KB)


Thank you. It now works… until you use a filter in the grid. Enter john in the filter for the author and hit Update. You wil get an error “this.rowsBuffer[…]” is null or not an object…



 

It is not safe to update grid while it in filtered state
The only way is - unfilter grid, update dataset, filter grid back.

Thanks, but how do I do that with the internel filter? I can find that in the documentation. I only see functons to set the filterBy(…) witch is professional only. Thst is in itself not a problem, as I wil buy the complete suite today. An example would be nice.

Hi again, could you provide me the fix for the update also for the professional version? My registraton numer is 222146955.

Thanks, but how do I do that with the internel filter?
Please check
dhtmlx.com/docs/products/kb/inde … lete%20row
The same approach can be used for update from XML ( please inform if its still unclear I will send some kind of sample )


>>Hi again, could you provide me the fix for the update also for the professional version
Sent by email.


Sorry for being so persistent. But the fixed professional version I got with the mail was the not fixed version (beyond compare for the fixed and not fixed version revealed no changes at all :wink:



I fixed that myself now (apllying the same changes as in the free version). Now the update works the same as in the free version.



I also implemented the suggested defiltering before updating like:



if (ae==“0_refresh”){  
    mygrid.filterBy(0);
    mygrid.updateFromXML(“booksxml.php”);
    mygrid._srowsCol=mygrid._f_rowsBuffer=mygrid._srowsBuf=null;
    mygrid.filterByAll();
}



But still I’m getting the error “this.rowsBuffer[…]” is null or not an object…



Any other sugestion?




 

Sample for updateFromXML sent by email.

It works, thanks for the help…