在asp.net web应用程序的Gridview中使用shift + scroll进行水平滚动?

时间:2016-07-04 12:06:40

标签: c# jquery css asp.net gridview

我在asp.net中有一个Web应用程序,它有一个超过12列的gridview。我使用

添加了一个水平滚动条
 <div style="overflow-x: auto;">
  <asp:GridView ID="gvBill" runat="server" >
  .
  .
  </asp:GridView>

我需要一个水平滚动的功能..只是gridview。我已经搜索并找到了mouseWheel事件的答案,但它们都是针对c#Windows应用程序的。 我需要和StackOverflow中一样。请给我一些网址或任何可以提供帮助的内容。感谢。

例如:当我们按住Shift键并使用鼠标滚动/触摸板滚动时,它会水平滚动。在这里试试:SQLBulkCopy inserts a new row with NULL values for all columns

enter image description here

1 个答案:

答案 0 :(得分:1)

.Gridview{
    overflow-x: scroll;
}

<asp:GridView ID="gvBill" runat="server" CssClass="Gridview" />.

将向x方向添加滚动

相反,如果你想捕捉mousewheel事件,我找到了这个解决方案:

(function() {
    function scrollHorizontally(e) {
        e = window.event || e;
        var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
        document.getElementById('yourDiv').scrollLeft -= (delta*40); // Multiplied by 40
        e.preventDefault();
    }
    if (document.getElementById('yourDiv').addEventListener) {
        // IE9, Chrome, Safari, Opera
        document.getElementById('yourDiv').addEventListener("mousewheel", scrollHorizontally, false);
        // Firefox
        document.getElementById('yourDiv').addEventListener("DOMMouseScroll", scrollHorizontally, false);
    } else {
        // IE 6/7/8
        document.getElementById('yourDiv').attachEvent("onmousewheel", scrollHorizontally);
    }
})();

基本上当它加载文档时它获取元素的id并将侦听器添加到scrollHorizo​​ntally ...测试它并让我知道它是否有帮助

来源:Horizontal scrolling with mouse wheel in a div

我提供了一个jsfiddle https://jsfiddle.net/Lugj8dp2/ 它似乎适用于普通表,它应该适用于你的情况。