Refresh issue when vertical scrollbar is displayed

Hello,

I am facing an issue (not a bug but a problem for me) with displaying a sheet with hundred of rows.
You can see the sample project attached to this message.
If you click on Sheet2 the sheet displays with 500 rows.
What I want : the sheet load completely at the opening.
What the control does : it loads only the rows that you can see on the screen. If you try to scroll down the control load again some rows (you can see the loading bar).

Is it possible to have the behavior that I want : load all the data (500 rows) at once and be able to navigate in the sheet (i.e scroll down to the row 250) whithout any realoding.

Thanks !

Hi,


Thanks for the sample project and details.

I have tested using your project, I observed the issue you mentioned. The control looks to me refreshed when we scroll down on the GridWeb as you pointed out. It might be due to the behavior of the control (by design) but we need to investigate the issue on our end. Our concerned developer will look into it soon. I have logged a ticket with an id “CELLSNET-41810” for your issue.

Once we have any update on it, we will let you know here.

Thank you.


Hi,

Thanks for you quick answer.
So I’m waiting for your news.

Can you take a look on my other issue : Problem with OnCellUpdated event
We have several problems on the project and I have to make some tests very soon (before the end of the week). The possibility to get a cell value from another sheet in JavaScript is critical to me so if you could look at it quicky it will be great !

Thanks a lot !

Hi,


Please follow up and see your other thread for reply:
<a href="https://forum.aspose.com/t/91501

Thank you.

Hi,


For refreshing issue when scrollbars are displayed or we scroll dwon, it is due to you have set “EnableAsync” to true which means GridWeb will load or display data asynchronously. Please set “EnableAsync” attribute for GridWeb to “false”. I have tested it and now it works fine.

thank you.

You’re right it works fine.

But I still have a question.
If you navigate between the sheet in the sample project attached to this post, you’ll see that the loading is taking some time even when you change from sheet2 (which has the data) to sheet1 which is empty.
Is it normal ? Is there a way to reduce this loading time ?

Hi,

Thanks for the sample project.

Good to know that the refreshing issue (when the scrollbars are displayed) is resolved by setting EnableAsync attribute to "false". But as you mentioned, I can still see the performance issue when we navigate from one worksheet to another sheet, I have tested your updated sample project to reproduce the issue. I have logged this into our database and reopened your issue "CELLSNET-41810". Our concerned developer will look into it soon.

Once we have any update on it, we will let you know here.

By the way, if I set EnableAsync attribute to "true", it does not delay much but again the first issue occurs because obviously the GridWeb will load data asynchronously when you set it to true.

Thank you.

Hi,


In your default.aspx.cs file:

private void ExecuteFirstSheetCommand(string commandType, int rowIndex, int columnIndex)
{
if (commandType == “Add”)
{
DataTable dt = FirstSheetAddRow(rowIndex);
InitializeCalculationArea(dt);
}
}

So, even you click first tab, this function : InitializeCalculationArea is executed, it will iterate over 500*50 cells. So, we would suggest you should change your business logic a bit accordingly.

Thank you.

Hi thanks for your return.

I am sorry but I think you’re wrong.
Please retest with the new sample project attached to this post.

When you click on first tab from the second tab, it does’nt execute the ExecuteFirstSheetCommand() method.
But loading time is still as long as the one to display second sheet.

Thanks.

Hi,


Thanks for sharing the updated project.

Well, I have tested your newly attached project. It works fine here. I navigate to Test2 tab (which does take some time (because you are loading more data/values into the second sheet) but when I navigate to the first sheet (Test1), it navigates me quickly as I could not find any significant delay here.

Thank you.


I apologize i forgott to say : all the tests I made are done with Internet Explorer.
It surely works fine with Firefox and other but not with IE unfortunately…

Hi,


Thanks for providing us further details.

Well, you are right, I can still find the issue in IE browser type (even when I navigates to first sheet “Test1”), it takes more time which it should not. It works fine on Google chrome though.

I have logged your comments against your issue “CELLSNET-41810” into our database. Our concerned developer will look into it to figure it out soon.

Thank you.

Hi,


After further investigation, it actually works fine in IE8 and IE9, so we think it might be a problem of IE7 and actually we won’t support IE7 any more now.

Also if you are using IE10 browser, you need to add/replace the line:
<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE9”/> on the .aspx page to work in IE9 mode.

Thank you.

Well with it works fine on IE10 you’re right.
But I am facing some trouble in IE8 : the loading bar is not displayed (broken picture) and the AjaxMode seems not to work, the page is refreshing each time I click on a sheet.

What should I do to have a GridWeb working on IE8 properly ?

Edit : i found out by replacing “EmulateIE9” by “EmulateIE8” and it works fine on IE8 thanks a lot !

Hi,


Good to know that your issue is resolved on IE8 browser as well.

Thanks for your time.

Well i’m back again (really sorry…) but it’s not resolved for my main project.

In fact it’s working really fine with a XHTML doctype. But on my main project I have an HTML doctype and it’s not working even if I add the line :

You can test with the sample project attached to this post. I have commented the xhtml doctype and added a new doctype (HTML one). You will see that the delay is back when you try to go on Sheet1 from the Sheet2…

Sorry again and I hope that you will find a solution !

Just for your information:

1) If the page has this tag i.e..,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
--> The GridWeb's XhtmlMode should be set to TRUE.

2) If the page has the tag e.g..,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
or having no tag (like this) at all,

The GridWeb.XhtmlMode should be set to FALSE.

So, you have to change XhtmlMode to false if you persist with your new

thank you.


Thank you.

Please see the sample project attached to this post.

I have setted the XhtmlMode to false because I have to keep the HTML doctype. You can see that it changes nothing regarding the response time for the navigation from Sheet2 to Sheet1.

Furthermore you can see that the Sheet2 is broken ! Headers are very huge and frozen the navigation becomes impossible…

Thanks

Hi,


Thanks for the updated project.

We need to look into your issue a bit. I have tested your updated project and I can see the issue(s) as you mentioned when adding new DOCTYPE with XHmlMode to set to false. I have logged it against your issue id “CELLSNET-41810” into our database. Our concerned developer will look into it soon.

Once we have any update on it, we will let you know here.

Thank you.

Hi,


Although your code writes content i.e…, “IE=EmulateIE8”, but it does not take effect. Actually your code results in IE rendering in IE7 mode. Make sure your project is rendered with IE8 or IE9 mode first, then we can check whether there is any issue or not.