C# 如何以编程方式迭代GridView的页面

C# 如何以编程方式迭代GridView的页面,c#,asp.net,gridview,sqldatasource,C#,Asp.net,Gridview,Sqldatasource,我已经创建了一个wallboard应用程序来显示我的ICT部门的杰出支持电话。我已经将许多GridView绑定到执行存储过程的sqldatasources。这是通过asp.net ajax控件自动完成的,并且每30秒部分刷新一次页面/数据 此时,当gridview中的记录数超过9时,gridview会自动分页并在右下角显示页数。然后,帮助台可以VNC到控制屏幕的框中,并手动单击以查看下一页上的内容 我想要的是一种编程方式(使用c#代码隐藏文件)在大约10/15秒后更改当前显示的页面,如果这在gr

我已经创建了一个wallboard应用程序来显示我的ICT部门的杰出支持电话。我已经将许多GridView绑定到执行存储过程的sqldatasources。这是通过asp.net ajax控件自动完成的,并且每30秒部分刷新一次页面/数据

此时,当gridview中的记录数超过9时,gridview会自动分页并在右下角显示页数。然后,帮助台可以VNC到控制屏幕的框中,并手动单击以查看下一页上的内容

我想要的是一种编程方式(使用c#代码隐藏文件)在大约10/15秒后更改当前显示的页面,如果这在gridview的范围内是可能的话。我一直在使用javascript(在jquery中失败)在div中滚动gridview,但是这并没有像预期的那样起作用

有人能给我举个正确的例子吗?我找不到其他人通过快速谷歌查询这个功能。对于如何解决此问题的任何帮助/建议,我们将不胜感激

Gridview代码:

<asp:GridView ID="GridView1" ShowHeader="False" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" 
GridLines="None" CellPadding="2" Font-Size="35pt" AllowPaging="True" PageSize="9">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID">
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:BoundField DataField="ASSIGNEES" HeaderText="ASSIGNEES" SortExpression="ASSIGNEES">
<ItemStyle Width="32%" Wrap="false"/>
</asp:BoundField>
<asp:BoundField DataField="title" HeaderText="title" SortExpression="title">
<ItemStyle Width="53%"  Wrap="false"/>
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FPConnectionString %>" SelectCommand="HDMonitoringOutstandingToday" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
GridView.PageIndex 

SqlDataSource代码:

<asp:GridView ID="GridView1" ShowHeader="False" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" 
GridLines="None" CellPadding="2" Font-Size="35pt" AllowPaging="True" PageSize="9">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID">
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:BoundField DataField="ASSIGNEES" HeaderText="ASSIGNEES" SortExpression="ASSIGNEES">
<ItemStyle Width="32%" Wrap="false"/>
</asp:BoundField>
<asp:BoundField DataField="title" HeaderText="title" SortExpression="title">
<ItemStyle Width="53%"  Wrap="false"/>
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FPConnectionString %>" SelectCommand="HDMonitoringOutstandingToday" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
GridView.PageIndex 

墙板印刷屏幕:

<asp:GridView ID="GridView1" ShowHeader="False" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" 
GridLines="None" CellPadding="2" Font-Size="35pt" AllowPaging="True" PageSize="9">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID">
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:BoundField DataField="ASSIGNEES" HeaderText="ASSIGNEES" SortExpression="ASSIGNEES">
<ItemStyle Width="32%" Wrap="false"/>
</asp:BoundField>
<asp:BoundField DataField="title" HeaderText="title" SortExpression="title">
<ItemStyle Width="53%"  Wrap="false"/>
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FPConnectionString %>" SelectCommand="HDMonitoringOutstandingToday" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
GridView.PageIndex 


您可以通过设置页面索引来更改页面,如何更改取决于您在此处看到的一些示例:

您可以在计时器中尝试类似的操作

if(GridView1.PageIndex == GridView1.PageCount)
{
   GridView1.PageIndex = 0;
}
else
{
   GridView.PageIndex = GridView.PageIndex + 1;
}
我不记得你是否需要在页面索引中添加一个


但无论如何,您需要使用的属性是PageIndex和PageCount。

太好了,谢谢!我可以得到页数,将其放入数组并在计时器的ontick事件上迭代吗?页数是GridView.PageCount,但您不需要将它们放入数组,如果使用ontick,您只需执行GridView.PageIndex=GridView.PageIndex+1,确保不超过您拥有的页数,所以请检查pageindex是否等于pagecount,然后您必须返回到第1页。干杯!明天早上我要试一试。我想我将不得不使用另一个ajax计时器在主页刷新勾选之间进行勾选(如果你明白我的意思),我不得不编辑你的示例代码,将if语句改为if(GridView1.PageIndex==(GridView1.PageCount-1)),因为PageCount是一个基于零的列表!干杯:D