From 279135a4f9ba184b4efc81af0d54bc03855bcd6b Mon Sep 17 00:00:00 2001 From: dmendez Date: Thu, 24 Mar 2022 14:09:35 -0300 Subject: [PATCH 1/2] Update HttpAjaxContext.cs Support for multiple refresh executions for the same grid instance --- .../GxClasses/Core/Web/HttpAjaxContext.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs b/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs index 384869724..38b6e75b6 100644 --- a/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs +++ b/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs @@ -36,7 +36,9 @@ public interface IHttpAjaxContext void ajax_rsp_assign_hidden_sdt(String SdtName, Object SdtObj); void ajax_rsp_assign_prop(String CmpPrefix, bool IsMasterPage, String Control, String Property, String Value, bool sendAjax); void ajax_rsp_assign_uc_prop(String CmpPrefix, bool IsMasterPage, String Control, String Property, String Value); - void ajax_rsp_assign_grid(String ControlName, Object GridObj); +#pragma warning disable CA1707 // Identifiers should not contain underscores + void ajax_rsp_assign_grid(String ControlName, Object GridObj, String Control); +#pragma warning restore CA1707 // Identifiers should not contain underscores void AddStylesheetToLoad(String url); void AddStylesHidden(); void ajax_rsp_clear(); @@ -72,6 +74,7 @@ public class HttpAjaxContext : IHttpAjaxContext private Hashtable _LoadCommands = new Hashtable(); private JObject _Messages = new JObject(); private JArray _Grids = new JArray(); + private Dictionary DicGrids = new Dictionary(); private JObject _ComponentObjects = new JObject(); private JArray _StylesheetsToLoad = new JArray(); private NameValueCollection _formVars; @@ -447,12 +450,20 @@ public void ajax_rsp_assign_uc_prop(String CmpContext, bool IsMasterPage, String } } - public void ajax_rsp_assign_grid(String GridName, Object GridObj) + public void ajax_rsp_assign_grid(String GridName, Object GridObj, String Control) { try { - Grids.Add(((IGxJSONAble)GridObj).GetJSONObject()); - } + if (DicGrids.ContainsKey(Control)) + { + Grids[DicGrids[Control]] = ((IGxJSONAble)GridObj).GetJSONObject(); + } + else + { + Grids.Add(((IGxJSONAble)GridObj).GetJSONObject()); + DicGrids.Add(Control, Grids.Length - 1); + } + } catch (Exception ex) { GXLogging.Error(log, "ajax_rsp_assign_grid error", ex); From a6cb74ceb5cd1eacbff2c6023ec663e6de374acb Mon Sep 17 00:00:00 2001 From: dmendez Date: Thu, 24 Mar 2022 15:28:48 -0300 Subject: [PATCH 2/2] Update HttpAjaxContext.cs Keep legacy generated code compatibility --- .../GxClasses/Core/Web/HttpAjaxContext.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs b/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs index 38b6e75b6..333fb6894 100644 --- a/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs +++ b/dotnet/src/dotnetframework/GxClasses/Core/Web/HttpAjaxContext.cs @@ -37,7 +37,8 @@ public interface IHttpAjaxContext void ajax_rsp_assign_prop(String CmpPrefix, bool IsMasterPage, String Control, String Property, String Value, bool sendAjax); void ajax_rsp_assign_uc_prop(String CmpPrefix, bool IsMasterPage, String Control, String Property, String Value); #pragma warning disable CA1707 // Identifiers should not contain underscores - void ajax_rsp_assign_grid(String ControlName, Object GridObj, String Control); + void ajax_rsp_assign_grid(String ControlName, Object GridObj, String Control); + void ajax_rsp_assign_grid(String ControlName, Object GridObj); #pragma warning restore CA1707 // Identifiers should not contain underscores void AddStylesheetToLoad(String url); void AddStylesHidden(); @@ -450,6 +451,17 @@ public void ajax_rsp_assign_uc_prop(String CmpContext, bool IsMasterPage, String } } + public void ajax_rsp_assign_grid(String ControlName, Object GridObj) { + try + { + Grids.Add(((IGxJSONAble)GridObj).GetJSONObject()); + } + catch (Exception ex) + { + GXLogging.Error(log, "ajax_rsp_assign_grid error", ex); + } + } + public void ajax_rsp_assign_grid(String GridName, Object GridObj, String Control) { try