We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Cells.GridWeb implementation incompatible with recent DevExpress components

Hi,
We have a large web application that has been using both Aspose.Cells.GridWeb and DevExpress on the same page for several years.
Recently DevExpress components stopped working when a GridWeb control is present on the same page.

Upon contacting DevExpress support, it was found that the problem occurs because within the Aspose scripts (acwmain.js) the Map functions override the general Javascript Map object, preventing other controls of using the generic properties the Javascript Map class provides.
In this particular case the set property is missing which causes errors on other scripts based on the general Map object.

Is there any way the implementation of the Map functions can be changed on Aspose scripts in order to avoid overriding the general Map object?

Thanks for your support.
Virgínia Nascimento

@virginia.nascimento,

Could you create a small sample VS.NET project (standalone) project using both Aspose.Cells.GridWeb and DevExpress controls, zip the project with all the resource files and libraries (so we could evaluate and execute the application seamlessly) and upload to some file sharing service (e.g. drop box, Google drive, etc.) and share the Download link here to reproduce the issue on our end. We will check it soon.

Here is a Demo project: Demo

I added a button that calls a javascript function which tries to use the JavaScript Map class. When the GridWeb control is present on the page the button does nothing and there is an error on the console saying that ‘set’ is not a function.
If I comment the GridWeb the button works well.

Exploring the Aspose’s ‘acwmain.js’ file I can see the declaration of a function which overrides the general Map class.
Line 575 “function Map(){this.keys=[];this.data={};this.put=function(key,value){if(this.data[key]==null)this.keys.push(key);…”
In mine main project I tried adding here the ‘set’ property, and the ‘forEach’ property. It seemed to start working well. However, I am not sure other problems wont be raised and I don’t think it is a good solution to have to alter this file every time I update Aspose, in order to be able to use a general javascript class.

@virginia.nascimento,

Please notice, we were able to reproduce the issue as you mentioned by using your sample project/ sample code. We have logged a ticket with an id “CELLSNET-47846” for your issue. We will look into it to figure it out soon. Once we have an update on it, we will let you know.

Moreover, I guess you may use the workaround you have devised for the time being until we have evaluated the issue thoroughly to update you with more details/fix.

@virginia.nascimento,

This is to inform you that we have fixed your issue now. We will soon provide you the fixed version after performing QA and incorporating other enhancements and fixes.

The issues you have found earlier (filed as CELLSNET-47846) have been fixed in this update. This message was posted using Bugs notification tool by simon.zhao