动态Jqgrid选项

时间:2017-07-24 12:48:54

标签: jqgrid

我有一个jqgrid,在第一次加载时使用ajax调用来加载基于DB的调用。加载完成后,我将其存储在JSON字符串中,并在需要时从中重新加载。而不是为同一个事物提供2个完全独立的jqgrid定义,1个用于Ajax调用,1个用于JSON数据,有没有办法可以动态设置以下选项?

Ajax call ...

url: '@Url.Action("GetData", "Controller")',
datatype: "json",
postData: param1: "param1"

JSON电话:

datatype: "jsonstring",
datastr: sessionStorage.crmReportData,
基本上,JQGrid设置的其余部分对两者完全相同,这是唯一的区别。有没有办法可以在第一次加载时使用第一组选项,如果JSON字符串存在则可以使用第二组选项?

1 个答案:

答案 0 :(得分:1)

我希望我能正确理解你的所作所为。如果您想测试async/await。如果它不为空,那么您可以使用sessionStorage.crmReportData并从datatype: "jsonstring"加载数据。否则,您要加载sessionStorage.crmReportData的数据。在这种情况下,您可以使用以下选项:

url

如果您使用datatype: sessionStorage.crmReportData ? "jsonstring" : "json", datastr: sessionStorage.crmReportData, url: '@Url.Action("GetData", "Controller")', postData: { param1: "param1" }, ,则会忽略选项url。如果您使用datatype: "jsonstring"param1的参数postData不会产生任何副作用。另一方面,如果从服务器加载数据,将忽略选项datatype: "jsonstring"。因此,上述选项应该有效。