【问题标题】:Slickgrid: Possible to scroll horizontally on grid while dragging column?Slickgrid:拖动列时可以在网格上水平滚动吗?
【发布时间】:2013-10-25 20:48:37
【问题描述】:

我正在使用 Slickgrid 来显示一个大型数据集,该数据集可用于从几列到 50 列的任何地方。我需要用户能够按照他们的意愿重新排序列,我目前能够做到这一点,但会带来一些不便。如果我碰巧抓住了最后一列并将其移动到具有多个列水平窗口宽度的网格的前面,我必须拖放并手动向左滚动,然后才能将列定位到我想要的位置。

有谁知道是否有办法强制网格根据我试图拖动列的位置自动水平滚动(即当我尝试将列拖动到当前网格视口之外时)?

【问题讨论】:

    标签: javascript jquery slickgrid


    【解决方案1】:

    通过此方法找到您要滚动的鼠标指针位置并应用滚动...

    $('#myGrid').mousemove(function(e){ //#myGrid is id of div of grid container
              var parentOffset = $(this).offset(); 
              diffX = ( ( parentOffset.left + $('#myGrid').width() ) - e.pageX);
    
              if (diffX < 59 && diffX > 17){ //change the minimum and maximum area where you want to scroll. mine requirement is 59 and 17. You can find your custom position by some alerting or console.log
                  $('.slick-viewport ').scrollLeft($('.slick-viewport ').scrollLeft() + 5);
              }
      });
    

    【讨论】:

    • 感谢您的提示!我最终创建了一个可用列名的可排序列表,并随着名称顺序的更改简单地重置网格上的列。
    【解决方案2】:

    我最终通过在网格之外创建网格列名的可排序列表来解决这个问题。当列名的顺序发生变化时,通过调用函数grid.setColumns(),网格上显示的列会根据新的顺序重置。

    【讨论】:

      猜你喜欢
      • 2017-05-21
      • 2012-04-18
      • 2017-07-06
      • 2016-09-30
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多