【问题标题】:Gridview changing data with respect to timeGridview 随时间改变数据
【发布时间】:2011-05-17 17:37:41
【问题描述】:

我正在开发 Visual Studio 2010 和 SQL Server 2008
我想创建一个应用程序,我的 Gridview 应该在其中更改数据(显示在网站上) 关于时间


意思是说

col1  | col2 
name1 |  age1 
name2 |  age2 
name3 |  age3

after 10 sec say 
col1  | col2 
name4 |  age4 
name5 |  age5 
name6 |  age6

谁能帮帮我?

【问题讨论】:

  • 您想每 10 秒刷新一次网格视图吗?是这个意思吗?
  • 是的,你可以说刷新,但表中有下一个可用日期

标签: asp.net ajax sql-server-2008 gridview asp.net-ajax


【解决方案1】:

最简单的方法是使用 ASP.NET AJAX 计时器控件:http://ajax.net-tutorials.com/controls/timer-control/ 10 秒后,tick 事件触发,您可以将所有内容包装在 UpdatePanel 中,为用户提供完整的 AJAX 感觉。

HTH。

【讨论】:

    【解决方案2】:

    使用Comet:Comet 是一种 Web 应用程序模型,其中长期持有的 HTTP 请求允许 Web 服务器将数据推送到浏览器,而无需浏览器显式请求。

    Creating Comet applications with ASP.NET
    Scalable COMET Combined with ASP.NET

    此代码尚未准备好生产;它 旨在展示一个 使用 COMET 的理论解决方案 ASP.NET。本文涵盖了 COMET 的服务器端实现 以及如何对抗可扩展性 问题。向客户展示 代码,我会放一篇小文章 很快,这表明了一个小 使用 COMET 的井字游戏 我提到的线程池机制 下面,这应该给你一些想法 关于在现实世界中使用它 应用。


    ASP.NET and Comet: Bringing Sockets Back
    ASP.NET Comet Library

    【讨论】:

      【解决方案3】:

      这是我为解决上述问题所做的 网站1.aspx

      <asp:ScriptManager ID="ScriptManager1" runat="server" />
                  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                      <ContentTemplate>
                          <asp:Timer ID="Timer1" runat="server" OnTick="UpdateTimer_Tick" Interval="5000">
                          </asp:Timer>
                            <Triggers>
                          <asp:AsyncPostBackTrigger controlid="Timer1" eventname="Tick" />
                                <asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="1" 
                                    EnableModelValidation="True" AutoGenerateColumns="False">
                                    <PagerSettings Visible="False" />
                                    <columns>
                                     <asp:ImageField DataImageUrlField="Image" >
                                         <ControlStyle Height="500px" Width="860px" />
                                        </asp:ImageField>
                                    </columns>
                                </asp:GridView>
      
                                <br />
                      </Triggers>
                      </ContentTemplate>
                                 </asp:UpdatePanel>
      

      website1.aspx.cs

      public partial class _Default : System.Web.UI.Page 
      {
          protected void Page_Load(object sender, EventArgs e)
          {
               LoadData();
          }
      
          protected void UpdateTimer_Tick(object sender, EventArgs e)
          {
              int pagecount = GridView1.PageCount;
               int pageIndex = GridView1.PageIndex;
               if (pageIndex != pagecount)
               {
                   GridView1.PageIndex = pageIndex + 1;
                   LoadData();
                   Label1.Text = "" + GridView1.PageIndex++;
      
               }
               if (pageIndex == pagecount-1)
               {
                   pageIndex = pageIndex - pagecount;
                   GridView1.PageIndex = pageIndex + 1;
                   LoadData();
                   Label1.Text = "" + GridView1.PageIndex++;
               }
      
          }
          private void LoadData()
          {
              using (SqlConnection connection = new SqlConnection("Data Source=CJ-PC\\SQLEXPRESS;Initial Catalog=Online_Interaction;Integrated Security=True"))
              {
                  using (SqlCommand command = new SqlCommand("Select [Image] from Picture_album", connection))
                  {
                      using (SqlDataAdapter da = new SqlDataAdapter(command))
                      {
                          DataTable dt = new DataTable();
                          da.Fill(dt);
                          GridView1.DataSource = dt;
                          GridView1.DataBind();
                      }
                  }
              }
          }
      

      感谢帮助stackoverflow

      【讨论】:

        猜你喜欢
        • 2020-07-09
        • 2017-05-17
        • 2012-09-06
        • 1970-01-01
        • 2019-05-15
        • 1970-01-01
        • 1970-01-01
        • 2017-07-13
        • 1970-01-01
        相关资源
        最近更新 更多