【问题标题】:scrollRowIntoView not working in jquery-ui dialog boxscrollRowIntoView 在 jquery-ui 对话框中不起作用
【发布时间】:2015-01-29 12:04:48
【问题描述】:

我正在使用光滑的网格来显示项目列表。 该列表使用$.ajax 调用jquery-ui dialog box 填充。

我需要滚动到之前选择的项目的位置。 因此,我使用以下功能来滚动和选择以前选择的项目:

function SetDefaultItemSelected() {

        var selectedKey = 16; // hardcoded but there is logic to get previous item

        for (var rowIndex = 0; rowIndex < myItemDataView.getLength(); rowIndex++) {
            var gridRow = myItemDataView.getItem(rowIndex);
            if (gridRow.Key === selectedKey) {
                myItemGrid.setSelectedRows([rowIndex]);

                //TODO: check why the scrollRowIntoView is not working
                myItemGrid.scrollRowIntoView(rowIndex);
                break;
            }
        }

输出是这样的:

(一共22行,我之前选了第16行) 我不确定为什么它隐藏了前 3 行而不滚动到第 16 行。

更新 1:

刚刚检查过,如果我添加按钮并将其单击事件与上述函数绑定,则滚动会神奇地起作用。 但是,我不确定在创建网格后调用该函数有什么问题? 请帮忙。

由于功能在页面上工作但不在 jquery-ui 对话框上,这可能是错误吗?

更新 2:

我创建了新的 MVC3 应用程序并尝试实现相同的东西 - 通过 $.ajax 调用 LoadData 函数并填充光滑网格,然后尝试选择默认 ID。

我意识到只有当网格在 jquery-ui 对话框中时才会出现问题。 页面上的同一个网格正常工作。

这可能是一个错误,光滑的网格滚动在页面上工作,而不是在由 ajax 调用加载的对话框中??

如果我需要分享示例代码,请帮助并告诉我。

更新 3:

添加了示例代码。任何帮助将不胜感激!

https://groups.google.com/forum/#!topic/slickgrid/CUjY3H1F_zM

【问题讨论】:

    标签: jquery ajax asp.net-mvc-3 jquery-ui-dialog slickgrid


    【解决方案1】:

    解决方法:

    大家好,

    我的示例代码中有 2 个 jquery ajax 调用(附在问题更新 3 中的 google 组链接中):

    1) .load() 加载空的 jquery-dialog PartialView

    2) .ajax() 调用 partialView.js 文件的 document.ready 以加载光滑的网格数据。 (partialView.js 在 PartialView.cshtml 中被引用

    在尝试很多事情时,我发现当我将 debugger; 放在第二个 .ajax() 调用之前并在 chrome 开发人员工具栏中通过此调试点时,问题似乎没有出现。

    所以,我删除了debugger; 并考虑引入 500 毫秒的延迟

    window.setTimeout(functionToBeDelayed, requiredDelay);

    并且功能开始按预期运行。

    我仍然不确定这些嵌套的 ajax 调用是如何导致问题的。但是,截至目前,500 毫秒的延迟对我来说已经很重要了。

    截至目前,正在应用解决方法,但绝对期待一些更好的解决方案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多