Welcome Guest Search | Active Topics | Sign In | Register

Error while saving web grid in client running mode after many edits Options
infoland
Posted: Tuesday, March 20, 2012 12:55:56 PM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,
I have a grid, client running mode, inside a Ajax UpdatePanel.
The grid has about 30 rows and 30 columns.

Some columns are freely writable by the user, some are "computed" and some other are hidden.
When the user changes a writable column, a client script updates both computed (recalculating their values) and hidden columns, using setValue client method behind the scenes.
So, there will be 4 more columns changed per user edit.

If the user changes nearly every row of the grid (so there will be more than a hundred cells changed), when she saves the grid, the following client-side exception occurs:

'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Index and length must refer to a location within the string.
Parameter name: length' when calling method: [nsIDOMEventListener::handleEvent]
Line 812


I'm using the latest EO.Web Controls version (2011.0.45).

Any help is really appreciated.
Thanks
eo_support
Posted: Tuesday, March 20, 2012 1:04:46 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

We are aware of an error with such error message with early builds, but the latest build has fixed that issue. So please double check whether you are indeed running the latest build. The number of changes should not matter, what matters would the location of the cell changed. So if you can figure that out then it will be much easier for us to reproduce the problem.

You may also want to temporarily remove the UpdatePanel first. That will give you the full stack trace information (if you allow it to be displayed). The full stack track information is essential for us to locate the point of the error.

Thanks!
infoland
Posted: Tuesday, March 20, 2012 1:50:48 PM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hi eo_support,
I verified the version of EO.Web.DLL IS actually 9.0.45.

Once removed the UpdatePanel, the stack trace looks like this:

[ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +9389263
System.String.Substring(Int32 startIndex, Int32 length) +11
EO.Web.Internal.a.a() +100
EO.Web.Internal.kg.a(String A_0) +536
EO.Web.Internal.kg.a(String A_0) +554
EO.Web.Internal.kg.a(String A_0) +554
EO.Web.Internal.au.b(String A_0) +263
EO.Web.Internal.au.a(String A_0, String A_1) +1106
EO.Web.Internal.au.a(String A_0, String A_1, String A_2) +85
EO.Web.Internal.au.b(String A_0, String A_1) +39
EO.Web.Internal.ca.ac() +427
EO.Web.WebControlBase.LoadViewState(Object savedState) +145
EO.Web.CallbackPanel.a(Object A_0) +64
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +187
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Page.LoadAllState() +312
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +747


Anyway, I'd like to point out that if the user changes, for example, 20 rows, the problem does not occur.
Moreover, the issue doesn't seem to depend on the position of the column being changed.

Thank you
eo_support
Posted: Wednesday, March 21, 2012 11:04:57 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

We have not been able to reproduce this error. Can you provide a test page as well as detailed steps to reproduce the error?

Thanks!
infoland
Posted: Wednesday, March 21, 2012 2:59:15 PM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
It's a rather complex project.
I have to extract and refactor some parts out of it.
I'll keep you informed.
Thanks
eo_support
Posted: Wednesday, March 21, 2012 3:08:24 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Sure. Make sure the test project runs independently and only contain code needed to reproduce the problem. As soon as we have that we will try to run it here. If we can reproduce the problem, we should be able to find out the root cause.

Thanks!
infoland
Posted: Friday, March 23, 2012 6:17:08 AM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,

I worked hard trying to isolate the problem into a smaller project but with no luck at all.

Maybe the complexity of the user interface of the original project is somehow involved in reproducing the issue.

Unfortunately I don't have enough time to spend in mocking up a project in which the problem occurs.

Is it possible for you to compile a debug version of EO.Web.dll, with some kind of tracing and/or more debug info, in order to dig out the very problem?

Thank you
eo_support
Posted: Friday, March 23, 2012 8:57:44 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

Unfortunately no. It is not possible for us to do that. The debug build hardcoded quite a few things and will only run in our debug environment. So even if we gave you the debug build, it won't run in your environment at all.

Thanks!
infoland
Posted: Tuesday, November 6, 2012 8:41:19 AM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,

I'm turning up after some months and I finally have had enough time to isolate the problem in a small, self-consistent project.

The problem still exists in the latest EO.Web Controls library (2012.0.43).

You can download the full project here.

Steps to reproduce the problem:

1. Open the solution file in VS2010
2. Start debugging: a page with a large grid will show up
3. Edit the cell of the first row in the column "Cause", and select a value from the dropdown ("001 - Straight time", for example).
4. Repeat the above point for all rows of the grid (see Example.jpg)
5. Press Save button: the exception will occur (trapped by an assert)

Please, let me know if you need further help.

Thanks in advance






eo_support
Posted: Wednesday, November 7, 2012 3:53:43 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

Thank you very much for the additional information. We were able to reproduce and fix the problem. Please see your private message for the download location of the new build that has the fix.

Thanks!
infoland
Posted: Thursday, November 8, 2012 5:43:19 AM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,
I confirm you that the in the build 10.0.45.2 the problem is resolved.
Great job!

Thanks a lot
eo_support
Posted: Thursday, November 8, 2012 7:48:10 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Great. Thanks for confirming the fix!
infoland
Posted: Friday, November 16, 2012 11:28:33 AM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,

I'm sorry to inform you I found a problem with the new version 2012.0.45 I recently upgraded to.

You can replicate it in my test project as follows:
- run the project: the grid will appear
- click on an empty cell of the column "Hrs": the standard edit box will show up, letting you to enter a time value
- press the "refresh" button of the toolbar just on top of the grid (not the browser's one)
- now, click again on a cell of the column "Hrs": the edit box is rather different (it's much wider than the column).
But the really bad news is that no value will be saved when you hit enter, no matter what you type in.

Can you help me, please?

Thanks

Raf
infoland
Posted: Wednesday, November 21, 2012 11:52:34 AM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Hello,
any news for me?
In the meanwhile I was forced to revert back to v. 9.0.45, despite the "many edits" error...

Thanks
eo_support
Posted: Thursday, November 22, 2012 4:32:16 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

Sorry about the delay. Somehow this issue falls into the crack. We no longer have your original test project. Can you post it again?

Thanks!
infoland
Posted: Thursday, November 22, 2012 5:37:43 PM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Sure, here's a new download link:
http://db.tt/qK0BM8fT

This time the link should have no expiration.

Thank you
eo_support
Posted: Friday, November 23, 2012 10:56:01 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Hi,

We have posted a new build that should fix this problem. Please see your private message for the download location.

Thanks!
infoland
Posted: Wednesday, November 28, 2012 1:23:17 PM
Rank: Member
Groups: Member

Joined: 11/15/2011
Posts: 24
Yes!
The problem has disappeared in new build.
Thank you again.

Cheers
eo_support
Posted: Wednesday, November 28, 2012 1:25:33 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,195
Great. Thanks for the update!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.