Results 1 to 3 of 3

Thread: Stop Scrolling Gridview From Top

  1. #1

    Thread Starter
    New Member
    Join Date
    Aug 2011
    Posts
    3

    Stop Scrolling Gridview From Top

    Hi All,

    I've got one long GridView control on my website. The problem is, when I scroll down this GridView and select a row the selection occurs, but whole GridView is scrolling back to top and lost its current position. I am also fixed header of my gridview but when i put stop scrolling code in that page, its disable my fixed header. Does anyone know how to avoid this?

  2. #2
    PowerPoster gep13's Avatar
    Join Date
    Nov 2004
    Location
    The Granite City
    Posts
    21,963

    Re: Stop Scrolling Gridview From Top

    Hello Neelam Chamoli,

    In order to better help you, we are going to need to see the code that you are using. There are multiple ways to achieve what you are asking for, but without knowing what you are currently using, anything suggested would just be a guess.

    Gary

  3. #3

    Thread Starter
    New Member
    Join Date
    Aug 2011
    Posts
    3

    Re: Stop Scrolling Gridview From Top

    <script type = "text/javascript">

    var GridId = "<%=gvJobDetails.ClientID %>";
    var ScrollHeight = 500;
    window.onload = function () {
    var grid = document.getElementById(GridId);
    var gridWidth = grid.offsetWidth;
    var headerCellWidths = new Array();
    for (var i = 0; i < grid.getElementsByTagName("TH").length; i++) {
    headerCellWidths[i] = grid.getElementsByTagName("TH")[i].offsetWidth;
    }
    grid.parentNode.appendChild(document.createElement("div"));
    var parentDiv = grid.parentNode;

    var table = document.createElement("table");
    for (i = 0; i < grid.attributes.length; i++) {
    if (grid.attributes[i].specified && grid.attributes[i].name != "id") {
    table.setAttribute(grid.attributes[i].name, grid.attributes[i].value);
    }
    }
    table.style.cssText = grid.style.cssText;
    table.appendChild(document.createElement("tbody"));
    table.getElementsByTagName("tbody")[0].appendChild(grid.getElementsByTagName("TR")[0]);
    var cells = table.getElementsByTagName("TH");

    var gridRow = grid.getElementsByTagName("TR")[0];
    for (var i = 0; i < cells.length; i++) {
    var width;
    if (headerCellWidths[i] > gridRow.getElementsByTagName("TD")[i].offsetWidth) {
    width = headerCellWidths[i];
    }
    else {
    width = gridRow.getElementsByTagName("TD")[i].offsetWidth;
    }
    cells[i].style.width = parseInt(width - 3) + "px";
    gridRow.getElementsByTagName("TD")[i].style.width = parseInt(width - 3) + "px";
    }
    parentDiv.removeChild(grid);

    var dummyHeader = document.createElement("div");
    dummyHeader.appendChild(table);
    parentDiv.appendChild(dummyHeader);

    var scrollableDiv = document.createElement("div");
    gridWidth = parseInt(gridWidth) + 17;
    scrollableDiv.style.cssText = "overflow:auto;height:" + ScrollHeight + "px;width:" + gridWidth + "px";
    scrollableDiv.appendChild(grid);
    parentDiv.appendChild(scrollableDiv);
    }
    </script>

    I am using the above script for fixed header.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width