在C#下的asp.net 中,我把DataGrid放到DIV实现的滚动条框架里,实现了类似 listview有滚动条的的效果,但当我点击 DataGrid里自带的“编辑”时,页面提交了一下,滚动条的位置却自动跳到了顶端,在我更新的条数是很下面的情况下,一点击,更新的那几个文本框都跑到了页面下面去了,我哭啊!!!,哪位高手帮帮忙啊,让我点编辑或更新时,DIV里的那个滚动条不要跑动啊,至少不要回滚,把要更新的那条内容跳中间或顶上就可以啊。
部分代码如下:<DIV style="BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; OVERFLOW: scroll; BORDER-LEFT: 0px; WIDTH: 539px; MARGIN-RIGHT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px; HEIGHT: 104px"><FONT face="宋体"><asp:datagrid id="DataGrid_Instrument" runat="server" Width="523px" ShowHeader="False" AutoGenerateColumns="False" CellPadding="0" HorizontalAlign="Center">
..........
</DIV>

解决方案 »

  1.   

    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=0C25068E-55EA-4124-8CD6-726ECF5D5D3B
    http://search.csdn.net/Expert/topic/2038/2038884.xml?temp=.7868158
      

  2.   

    在html的<edittemle……>里编写代码
      

  3.   

    这里的我的截图啊,能点建议啊:
    http://www.ie.tzc.edu.cn/news/editor/UploadFile/2005517132322591.gif
      

  4.   

    以下为经验证过的写法,可以解决一般页面中由于点击"保存"之后,datagrid跑到页面顶部的问题.但楼主要的是在div里面,不知道这个能不能解决,但可参考一下.
    <script language="javascript">
    function GetCookie (name) 
    {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen)
      {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
        {
          return getCookieVal (j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) 
        {
          break; 
        }
      }
      return null;
    }function getCookieVal (offset) 
    {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
      endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }function SetCookie (name, value) 
    {
      document.cookie = name + "=" + escape (value);
    }
    </script>
    </HEAD><body bgColor="#f1f5f5" leftMargin="0" topMargin="0" rightMargin="0" MS_POSITIONING="FlowLayout" onload="document.body.scrollTop=GetCookie('posy')" onunload="SetCookie('posy',document.body.scrollTop)">
      

  5.   

    看看这篇文章应该对你有帮助
    http://www.codeproject.com/aspnet/AspNetScrollbarMove.asp
      

  6.   

    主要利用这个
    <script language="javascript">
    function window.onload()
    {
      var rows = document.all("datagrid的id").rows;
      rows[行号].scrollIntoView();
    }
    </script>
    这段js通过后台onitembound的时候(listitemtype=edititem)输出
    用e.item.itemindex来替代行号