我有一个连接到SQL数据库的listview控件,我已经设置了一个数据删除器来限制每个页面上显示的项目(每页3个)。
我已将datapager设置为:visible = false,并希望知道如何每5秒自动更改数据页。
提前感谢您提供的任何帮助。
答案 0 :(得分:3)
我遇到了同样的问题,解决方案很简单。
第一步是在页面上包含一个DataPager控件和一个Timer控件。
<asp:DataPager ID="pager" runat="server" PagedControlID="listView" PageSize="10">
<Fields>
<asp:NumericPagerField ButtonType="Link" />
</Fields>
</asp:DataPager>
<asp:Timer ID="timer" runat="server" Interval="1000" OnTick="timer_Tick">
</asp:Timer>
接下来,您必须编写此代码:
protected void timer_Tick(object sender, EventArgs e) {
//Verify that the session variable is not null
if (Session["startRowIndex"] == null)
Session.Add("startRowIndex", 0);
//Create a variable to store the first record to show
int startRowIndex = Convert.ToInt32(Session["startRowIndex"]);
//Show from the first record to the size of the page
this.pager.SetPageProperties(startRowIndex, this.pager.MaximumRows, true);
//Increase the first record to display in the size of the page
startRowIndex += this.pager.MaximumRows;
//If the first record exceeds the total number of records, restart the count.
if (startRowIndex > this.pager.TotalRowCount) startRowIndex = 0;
Session["startRowIndex"] = startRowIndex;
}
并将此代码放在Page_Load事件中:
protected void Page_Load(object sender, EventArgs e) {
//This session variable to control the record to show for each tick
if (!IsPostBack) Session.Add("startRowIndex", 0);
}
我希望你能提供一些东西,如果不是太晚了,对我的英语感到抱歉,因为它不是我的母语。
来自智利的问候。