DataGrid自动分页设置AllowPaging=True,PageStyle.Mode=NumericPages,PageButtonCount=10。查询绑定后显示:
1 2 3 4 5 6 7 8 9 10 ...
点击"...",会触发PageIndexChanged事件,此时显示第11页内容。分页栏显示:
11 12 13 14 15 16 17 18 19 20 ...
此时点击右边的"..."没有触发PageIndexChanged事件,而且,点击12页又回到第1页,此时在PageIndexChanged事件中检查e.NewPageIndex=1,并没有=11.
1 2 3 4 5 6 7 8 9 10 ...
点击"...",会触发PageIndexChanged事件,此时显示第11页内容。分页栏显示:
11 12 13 14 15 16 17 18 19 20 ...
此时点击右边的"..."没有触发PageIndexChanged事件,而且,点击12页又回到第1页,此时在PageIndexChanged事件中检查e.NewPageIndex=1,并没有=11.
解决方案 »
- JQUERY 如何保持原来的奇偶行背景色的前提下实现高亮显示?
- 发布网站
- ASP.NET如何获取此页面源文件?
- 有没有办法使HTML控件在客服端保持状态?
- 如何将很多的hyperlink和image组件绑定成为数组
- details.aspx?id{0}中{0}是什么意思?
- 动网论坛的帖子前一贴后一贴不是真正的!!
- 我把AutoGenerateColumns设为false;然后在程序里创建BOUNDCOLUMN来增加列,再用DATAFIELD来绑定,现在想排序,应该怎么弄?
- 怎样使table中的单元格居中呀.
- 怎样用Server.Transfer在新的窗口中打开另一页(急)
- 新革命:我用DataSet插入一行记录,怎样把刚插入的记录写入到Xml文件中。
- ◎◎◎◎◎◎◎求教一个有关用模板方便制作网页的问题!希望大家共同讨论一个好的办法!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm7</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="dg1" runat="server" AutoGenerateColumns="True" AllowPaging="True" DataSource='<%# GetData() %>' PageSize="1">
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace MyPlayground
{
/// <summary>
/// WebForm7 的摘要说明。
/// </summary>
public class WebForm7 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dg1;
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
this.DataBind();
} public string[] GetData()
{
string[] arr = new string[30];
for (int i = 0; i < arr.Length; i++)
arr[i] = i.ToString();
return arr;
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dg1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dg1_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void dg1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dg1.CurrentPageIndex = e.NewPageIndex;
dg1.DataBind();
}
}
}
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
for (int i = 0; i < 100; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now.ToShortDateString();
dr[3] = (i % 2 != 0) ? true : false;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
BindGrid();
}
void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e)
{
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
void BindGrid()
{
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
ShowStats();
}
void ShowStats()
{
lblEnabled.Text = "AllowPaging is " + MyDataGrid.AllowPaging;
lblCurrentIndex.Text = "CurrentPageIndex is " + MyDataGrid.CurrentPageIndex;
lblPageCount.Text = "PageCount is " + MyDataGrid.PageCount;
lblPageSize.Text = "PageSize is " + MyDataGrid.PageSize;
}
</script>
<body>
<h3>Paging with DataGrid</h3>
<form runat=server>
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-PageButtonCount="5"
PagerStyle-HorizontalAlign="Right"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"/> <p>
<table bgcolor="#eeeeee" cellpadding="6">
<tr>
<td nowrap>
<asp:Label id="lblEnabled"
runat="server"/><br>
<asp:Label id="lblCurrentIndex"
runat="server"/><br>
<asp:Label id="lblPageCount"
runat="server"/><br>
<asp:Label id="lblPageSize"
runat="server"/><br>
</td>
</tr>
</table>
</form>
</body>
</html>
Private Sub dgdWorkFlowRecord_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgdWorkFlowRecord.PageIndexChanged
dgdWorkFlowRecord.CurrentPageIndex = e.NewPageIndex
dgdWorkFlowRecord.DataBind()
End Sub
AutoGenerateColumns="False" BorderColor="Silver" BorderStyle="None" CellSpacing="1" BorderWidth="1px"
BackColor="White" CellPadding="2" GridLines="None" AllowPaging="True" AllowSorting="True"
PageSize="20">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#9471DE"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle Wrap="False" Height="7px" BackColor="White"></AlternatingItemStyle>
<ItemStyle Wrap="False" Height="7px" ForeColor="Black" BackColor="#DEDFDE"></ItemStyle>
<HeaderStyle Font-Bold="True" Wrap="False" ForeColor="#E7E7FF" BackColor="#4A3C8C"></HeaderStyle>
<FooterStyle Wrap="False" ForeColor="Black" BackColor="#C6C3C6"></FooterStyle>
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="WorkFlowID" DataNavigateUrlFormatString="workflowview.aspx?WorkFlowID={0}"
DataTextField="WorkFlowID" SortExpression="WorkFlowID" HeaderText="工单ID">
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:HyperLinkColumn>
<asp:BoundColumn DataField="ServiceRecordID" SortExpression="ServiceRecordID" ReadOnly="True" HeaderText="客服单ID">
<HeaderStyle Wrap="False" Width="60px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="EnteredDate" SortExpression="EnteredDate" HeaderText="派单日期">
<HeaderStyle Wrap="False" Width="120px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="EnteredByName" SortExpression="EnteredByName" ReadOnly="True" HeaderText="派单人">
<HeaderStyle Wrap="False" Width="60px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="TermDay" SortExpression="TermDay" ReadOnly="True" HeaderText="时限">
<HeaderStyle Wrap="False" Width="60px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="StatusName" SortExpression="StatusID" ReadOnly="True" HeaderText="状态">
<HeaderStyle Wrap="False" Width="60px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="LiabilityName" SortExpression="LiabilityID" ReadOnly="True" HeaderText="责任类型">
<HeaderStyle Wrap="False" Width="60px"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle NextPageText="下一页&gt;" PrevPageText="&lt;上一页" HorizontalAlign="Right" ForeColor="Black"
BackColor="#C6C3C6" Wrap="False" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
DataTable dt;
datagrid.CurrentPageIndex = e.NewPageIndex;
datagrid.DataSource = dt; //重新绑定一次
datagrid.DataBind();