【问题标题】:kendo grid works fine when javaScript alert exist but not working without javaScript alert当存在 JavaScript 警报但没有 JavaScript 警报时剑道网格工作正常
【发布时间】:2013-07-26 12:58:29
【问题描述】:

当我添加新行 kendo ui 网格时,即使我动态设置页码,它也不会移动到下一页。 但是当有 javaScrip 警报时,它工作正常。 有没有人遇到过这个问题。请给我一个解决方案。

谢谢。

【问题讨论】:

  • 什么是“当我添加新行 kendo ui 网格时它不会移动到下一页”?为什么要移到下一页?这类问题经常发生,因为事情的时间安排是并行发生的。 alert 的作用是让其中一个等待,然后让第二个完成
  • 感谢您的回复,我做了一些剑道不立即支持的事情,坚持用户选择并在网格刷新时选择当前添加的行(加载网格的最后一页)并选择最近的行问题是,例如,假设我在网格中的第 2 页,并且我现在有 5 行(页面大小 = 5),当我添加下一行并将页码设置为 3 时动态刷新网格时它不会移动到没有警报时的第 3 页。但是当警报出现时,它会移动到下一页 (3) 并选择当前添加的行。
  • 没错!当您添加一个新行时,需要一些时间来创建(这是一个异步任务),当您执行警报时,您实际上是在延迟下一个操作,然后它有时间创建它,因此您可以更多到第 3 页。
  • 是的,但是我是否可以在没有 alert() 的情况下等待,我认为等待 Editing_Read()(在 Controller 中)重新调整是问题所在。
  • 是的!执行setTimeout(function() { grid.page(3); }, 500); 这等待半秒(500 毫秒)然后调用grid.page(3)。这够了吗?

标签: user-interface grid kendo-ui


【解决方案1】:

问题在于,当您添加新行时,会有一系列并行发生的操作,而且它们不是立即发生的。如果您尝试移动到最后,但该行仍在创建中,如果失败。

当您添加警报时,您延迟了移动和创建现在有时间的事实。

如果你真的需要这样做,你可以添加一个超时(延迟)它不是很好/干净但应该可以工作。

执行以下操作:

setTimeout(function() {
    grid.page(3);
}, 500);

对于引入半秒(500 毫秒)延迟,应该足够了。

【讨论】:

  • 我们能否将 Kendo 网格数据源配置为同步 .DataSource(dataSource => dataSource.Ajax() .Model(model => { .Read(read => read.Action("Products_Read", "Home"))) ....... $("#grid").data("kendoGrid").dataSource.read(); 这是一个 Ajax 异步调用吗?如果是,我们可以调用同步呼叫。请给我一个解决方案。谢谢。
  • 这是一个 ajax 异步调用,据我所知,您无法使其同步。您可能会编写一个执行同步请求的read 函数,但您的调用会在等待它时被阻塞,并且用户体验可能不会很好
  • 是的,谢谢@OnaBai,我使用延迟技术实现了我想要的功能,感谢您的帮助
【解决方案2】:

我们在 IE 中遇到了类似的问题 - onchange 在事件处理程序中触发了两次警报。根据您所说的,听起来好像没有警报时您正在获得正确的行为。在没有警报或发布小提琴的情况下检查您的代码。下面是来自 Kendo 支持的关于调试时警报的答案。不要在剑道中使用警报以确保安全。

基本上,此行为是由于出于调试目的使用“alert”方法引起的 - 请注意,不建议这样做,因为在与焦点元素交互时可能会导致意外行为。替换“alert”方法并使用“debbuger”命令或“console.log()”函数后,更改事件按预期工作 - 请查看此截屏视频(http://screencast.com/t/7qIAdK6hZ5kD)。

希望对你有帮助。

【讨论】:

  • 感谢您的回答,但在我的情况下,当 alert() 存在时它工作正常
  • 分享一个小提琴,我对警报如何帮助剑道网格翻页非常感兴趣。假设警报不应该存在,因为它会导致问题,并且有相当数量的剑道网格在没有警报的情况下改变页面就好了,至少我很少。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 2014-04-10
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 2018-06-26
相关资源
最近更新 更多