热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gridview实现滚动了,但是内容怎么实时更新

按照孟子E章的例子改了下我是绑定数据到gridview,可以实现上下滚动,但是怎么实现一个滚动完成后,就显示实时更新的数据呢,例如:原数据100条滚动1到100这期间我增加或者



按照孟子E章的例子改了下
我是绑定数据到gridview,可以实现上下滚动,但是怎么实现一个滚动完成后,就显示实时更新的数据呢,

例如:原数据100条 滚动1到100 这期间我增加或者修改了数据 ,在第二次循环的时候就要事实刷新出来更新的数据或者增加了数据就从1滚动到102条,不知道这个刷新怎么改呢?
]


-------------------------------------------------------------------------------------------
后台
-------------------------------------------------------------------------------------------

public partial class _Default : System.Web.UI.Page
    {
        public OleDbConnection getConn()
        {
            string upload_file = Server.MapPath("/data/");
            string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/data\\th.mdb") + ";Persist Security Info=False";
            OleDbConnection openac = new OleDbConnection(connstr);
            return (openac);
            //openac.Open();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //g.DataSource = GetData();
           // g.DataBind();
            g.DataSource = null;
            databing();
            
        }

        public void databing()
        {

            try
            {
                string sqlstr = "select * from fxdt";
                OleDbConnection conn = getConn();
                conn.Open();
                OleDbDataAdapter da = new OleDbDataAdapter();
                da.SelectCommand = new OleDbCommand(sqlstr, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "fxdt");
                g.DataSource = ds;
                g.DataKeyNames = new string[] { "id" };//主键
                g.DataBind();
                conn.Close();
               

            }
            catch (Exception e)
            {
                throw (new Exception("数据库出错:" + e.Message));
            }
        }
        
    }
-------------------------------------------------------------------------------------------
前台
-------------------------------------------------------------------------------------------
 
 
    
  
  
   
   
 
 
   
   
     
       
         
           
             
              航班号 
             
             
              始发地 
             
             
              目的地
             
               
              计划飞
             
           
         
       
    
 
     
       
                   Font-Size="12px" CellPadding="3" > 
           
             
               
                <%#Eval("hbh")%> 
              
 
             
             
               
                <%#Eval("sfd") %> 
              
 
             
             
               
                <%#Eval("mdd") %> 
              
 
             
                
               
                <%#Eval("jhf") %> 
              
 
             
          
 
         
      
 
    
 
   
 
   
 
   
 
 

15 个解决方案

#1


刷新页面吧,骚年,想来signalR和js、ajax之类的目前对你来讲也太困难了

#2


引用 1 楼 starfd 的回复:
刷新页面吧,骚年,想来signalR和js、ajax之类的目前对你来讲也太困难了


-----------------------
是的,是的,嘿嘿,但是自动滚动的话,在哪里设置滚动完刷新呢?前台,还是后台?

#3


document.getElementById("demo").scrollTop = 0; 
下面加个js刷新代码

#4


滚动到头的时候加个刷新吧

#5


说白了,就是一个 js滚到,判断滚动条到底部,然后通过ajax访问后台读取数据,然后拼接html到前台来展现。
http://blog.csdn.net/yafei450225664/article/details/40889057

#6


引用 5 楼 hanjun0612 的回复:
说白了,就是一个 js滚到,判断滚动条到底部,然后通过ajax访问后台读取数据,然后拼接html到前台来展现。
http://blog.csdn.net/yafei450225664/article/details/40889057


请问,这个页面我想放两个gridview 各自滚动各自的内容。能实现么?

#7


引用 1 楼 starfd 的回复:
刷新页面吧,骚年,想来signalR和js、ajax之类的目前对你来讲也太困难了


请问,这个页面我想放两个gridview 各自滚动各自的内容。能实现么?

#8


既然  document.getElementById("demo").scrollTop++  这条语句是你写的,那么你就应该在这里扩展你的逻辑。

#9


引用 3 楼 starfd 的回复:
document.getElementById("demo").scrollTop = 0; 
下面加个js刷新代码


确实可以在这里修改逻辑。不过一般来说,在加载数据时跳回“头”部去了,好像有点不合情理。

一把来说,当你在执行 document.getElementById("demo").scrollTop++  的时候要判断是否“接近”那个  if 判断条件了,比如说按照120像素高做判断:
 if (document.getElementById("demo").scrollTop >= document.getElementById("demo1").offsetHeight - document.getElementById("demo").offsetHeight) -120;
这个条件成立就立刻异步加载新数据。在加载数据时你可以让 marquee暂停滚动,或者不暂停滚动也可以。

#10


嗯,把上面的120改为20,似乎更合理一点。离底部距离120像素就加载数据,有点早。改为20更好一下,根据你的 marquee 滚动速率来判断。

#11


引用 7 楼 ahya 的回复:
Quote: 引用 1 楼 starfd 的回复:

刷新页面吧,骚年,想来signalR和js、ajax之类的目前对你来讲也太困难了


请问,这个页面我想放两个gridview 各自滚动各自的内容。能实现么?

应该没问题

#12


引用 9 楼 sp1234 的回复:
Quote: 引用 3 楼 starfd 的回复:

document.getElementById("demo").scrollTop = 0; 
下面加个js刷新代码


确实可以在这里修改逻辑。不过一般来说,在加载数据时跳回“头”部去了,好像有点不合情理。

一把来说,当你在执行 document.getElementById("demo").scrollTop++  的时候要判断是否“接近”那个  if 判断条件了,比如说按照120像素高做判断:
 if (document.getElementById("demo").scrollTop >= document.getElementById("demo1").offsetHeight - document.getElementById("demo").offsetHeight) -120;
这个条件成立就立刻异步加载新数据。在加载数据时你可以让 marquee暂停滚动,或者不暂停滚动也可以。


-------------------------------------------------



上面这个可以实现 当初始数据gridview表格超出 设定的外部大小后,就在外部定义的区间内滚动,可以每滚完一次,刷新出一次新数据

但是,现在如果初始数据gridview的内容 没超出外部空间,此时不滚动,这时如果后台加入数据grid表格内容超出外部空间后,还是不滚动。。

求助,怎么判断并滚动刷新呢?

#13


引用 11 楼 hanjun0612 的回复:
Quote: 引用 7 楼 ahya 的回复:

Quote: 引用 1 楼 starfd 的回复:

刷新页面吧,骚年,想来signalR和js、ajax之类的目前对你来讲也太困难了


请问,这个页面我想放两个gridview 各自滚动各自的内容。能实现么?

应该没问题


----------------
还得麻烦您下
-----------------



上面这个可以实现 当初始数据gridview表格超出 设定的外部大小后,就在外部定义的区间内滚动,可以每滚完一次,刷新出一次新数据

但是,现在如果初始数据gridview的内容 没超出外部空间,此时不滚动,这时如果后台加入数据grid表格内容超出外部空间后,还是不滚动。。

求助,怎么判断并滚动刷新呢?

#14




引用 3 楼 starfd 的回复:
document.getElementById("demo").scrollTop = 0; 
下面加个js刷新代码







上面这个可以实现 当初始数据gridview表格超出 设定的外部大小后,就在外部定义的区间内滚动,可以每滚完一次,刷新出一次新数据

但是,现在如果初始数据gridview的内容 没超出外部空间,此时不滚动,这时如果后台加入数据grid表格内容超出外部空间后,还是不滚动。。

求助,怎么判断并滚动刷新呢?

#15


在滚动事件里,应该先去后台查看是否有数据更新,有的话,需要改变你的滚动条高度
document.getElementById("demo").scrollTop = 0; 因为第一次没有数据,所以滚动条被你赋值0了,你需要在重新赋值一下

推荐阅读
author-avatar
Chinaexpoinfo
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有