EditableTable widget: Error on Submit when hidden

EditableTable widget: Error on Submit when hidden

  
Hi Community,

Just upgraded to version 9 and now I tried converting some on my TableRecords to EditableTable to support or simplify my inline editing functionalities. However, after doing so, all the submit actions on the page no longer triggers properly.

Upon further investigation, I found out that the issue arises when the EditableTable is hidden upon load. Easiest way to replicate is to create the EditableTable and place it inside the False part of an If block, then put a Button on the True part. Upon click of the button, it behaves either of the following depending on its Method type.

Method = Ajax Submit - throws JavaScript error (from browser's console) something like the following:

Error {stack: (...), message: "The connection to the server was reset"}message: "The connection to the server was reset"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: d

Method = Submit - navigates to Internal Error page with below error on Service Center.

Object reference not set to an instance of an object.
   at OutSystems.HubEdition.WebWidgets.CustomWidget.#Cub[#cb](String propertyName)
   at OutSystems.Plugin.Widgets.EditableTable.OnLoad()
   at OutSystems.HubEdition.WebWidgets.CustomWidget.#Fub(WidgetBehavior b)
   at OutSystems.RuntimeCommon.CollectionsExtensions.Apply[Type](IEnumerable`1 collection, Action`1 action)
   at OutSystems.HubEdition.WebWidgets.CustomWidget.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Hope this gets fixed soon. Any workaround or thoughts you could share is greatly appreciated. Thanks in advance.

Regards,
Jayson

Hi Jayson,

Thank you for reporting that issue. We've just fixed and it should be included in the first revision of the platform.

In the meantime the only workaround I can remember is to put the editabletable inside a container and toggle the display property.

Cheers,
Tiago Simões
Hi Tiago,

Converting the If block to containers indeed fixed it, though its drawback is it now loads the data on page preparation instead of loading it upon demand.

Do you have idea when the new revision will be released? The case is we have a lot of widgets that we need to convert to EditableTable (one of main reasons why we upgraded) and this issue hinders us from doing so.

Thanks,
Jayson
Hi Jayson,

You are right about that workaround. The revision which will includes this bugfix will probably come out in a couple of weeks.

Cheers,
Tiago Simões
Has this bugfix been pushed out yet? I'm still getting the same error as the original poster. While the workaround would work, having the fix would be cleaner.
Hi Jonathan,

I believe that should have been fixed in Platform Server 9.0.0.6.

Cheers,
Tiago Simões