Add the GridView and the Timer control inside an ASP.NET AJAX UpdatePanel as shown below :
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="3600" ontick="Timer1_Tick"></asp:Timer>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="CustomerID"
DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />
<asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
Then in the code behind, add the following code which refreshes the GridView after every minute
C#
protected void Timer1_Tick(object sender, EventArgs e)
{
GridView2.DataBind();
}
VB.NET
Protected Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
GridView2.DataBind()
End Sub
Thank you and best of luck with the book.
ReplyDeletesank youu
ReplyDeleteGives me an error, Update Panel requires ScriptManager
ReplyDeleteI added a script Manager tag just above the Update Panel and it worked. It was updating my gridview every x seconds
ReplyDeleteHello, im getting a PageRequestManagerParseErrorException, i have the code just like you suggest, what might be going wrong?
ReplyDeleteThank you.
For the PageRequestManagerParseErrorException error, try this link
ReplyDeletehttp://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx
some of the function within the grid not work??
ReplyDeleteI am filling data after every 5 min. but by this code first time it take 5 min. to fill grid. how to avoid this?
ReplyDeleteHi Rahul.
ReplyDeleteYou just have to fire the Databinder code in PageLoad, like this:
protected void Page_Load(object sender, EventArgs e)
{
GridView2.DataBind();
}
LO MAS GRANDE MUCHAS GRACIAS!!!!!!!!!!!!!!!!!!!!!!!!!
ReplyDeleteFCP
Simply gr8.........
ReplyDeleteThanks for great article!!!!What we can do if we have 2 datagridviews and we want update every 5 seconds with different select commands both???
ReplyDeleteAppreciate it!
ReplyDeleteCheck here..all about..Asp.Net Gridview
ReplyDeleteLing
Thanks for this article. It was very beneficial for us.
ReplyDeleteI know I'm quite late to this comment thread but I'm a bit green when it comes to ASPX gridview and I could use some feedback.
ReplyDeleteI have three gridviews with different sql query results being displayed that have paginated results. These gridview forms will be displayed on a monitor for an entire department and will need to automatically iterate through the paged results every two to three minutes continuously.
While I am familiar enough with PHP to make this happen. I'm utterly lost when it comes to making this happen in aspx. Can you offer some very simple and straight forward feedback on how I might get this working?
I have successfully added the GridView and Timer control inside my ASPX.NET page and have updated the associated VB.NET file with the code noted. I also ran into the ScriptManager issue which I've added successfully. However, the gridview is not paging automatically.
ReplyDeleteIs the C# code a requirement? I am extremely new to this, so thanks in advance for your patience with my question.
Thanks so much for responding. I was finally able to get one of the gridviews looping through the pages results on a timer. :-)
ReplyDeleteGlad to hear that!
ReplyDeletehello i have this problem not refresh data when using binding propieties
ReplyDeletei load data with behind method in vb .net the first time load teh data but in the second call not display data
ASPxGridView1.DataSource = Nothing
ASPxGridView1.DataSource = dtReporteGeneral
ASPxGridView1.UpdateEdit()
ASPxGridView1.DataBind()
updtReporteGeneral.Update()
diseno_grdidev()
and display next error
---------------------------
---------------------------
error: Referencia a objeto no establecida como instancia de un objeto.
---------------------------
---------------------------
not load columns or any data in the grid.
pleas help me