【问题标题】:jqGrid (MVC): wanting to not load grid on page loadjqGrid(MVC):不想在页面加载时加载网格
【发布时间】:2011-06-16 19:24:29
【问题描述】:

这篇文章涵盖了我需要做的事情:Use of local datatype to prevent grid load;但是,当我在 $(document).ready() 处执行此操作时,网格会自行加载,但数据随后会显示空白行。 (我注意到返回的行数对于 ajax 调用是正确的)。

我也尝试过指定模型的 BeforeAjaxRequest 来设置 datatype:'local',但这也没有及时发生以阻止调用。

如何停止在 MVC 视图中声明的 jqGrid 的第一个网格加载?

【问题讨论】:

    标签: model-view-controller jqgrid jqgrid-asp.net


    【解决方案1】:

    Trirand 已经修改了 jqGrid,因此如果您连接一个 BeforeAjaxRequest 函数并让该函数返回 false,则不会发送请求。

    这很好地解决了问题。

    【讨论】:

      【解决方案2】:

      如果我理解您是正确的,您希望在页面加载时不会显示空网格。您可以通过至少两种方式做到这一点:

      • 您不能从<table> 和可选的寻呼机<div> 元素创建网格。因此,只有当您想显示网格(至少为空)时,您才可以调用 $("#list").jqGrid({/*jqGrid parameters*/});
      • 您可以将 <table> 和可选的寻呼机 <div> 元素放在另一个容器 div 中,这些元素是隐藏的 (<div id="mycontainer" style="display:none">...</div>),只有在您想显示网格时才使其可见 ($("#mycontainer").show())。

      【讨论】:

      • 您好奥列格,感谢您回复帖子。我将我的网格放在这样的视图中:。很简单,在我可以将 postData 设置为调用已保存的搜索/过滤器之前,我不希望网格自行填充。
      • @sympatric greg:抱歉,我不知道 jqGrid 的商业版本。不过我想,如果您将<%= Html.Trirand().JQGrid(Model.ExceptionGrid, "JQGrid1") %> 放在隐藏的 div 内(第二种方式),它可以解决您的问题。您可以在将datatype 更改为“json”并重新加载网格的同时使网格可见。
      • @Oleg:我的目标是不打不必要的电话。设置数据类型不会停止调用。我认为这是因为 MVC。也许我应该和托尼谈谈。
      • @sympatric greg:我不明白你的意思。如果您设置datatype:'local',则不会向服务器发出 Ajax 请求以填充网格包含。
      • @Oleg:据我所知,在启动 ajax 调用之前无法设置 datatype:'local'。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多