怎样用DataGride分页显示 DataGrid属性中有分页功能,自已找一下吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 beta2时有分页属性,但现在没有了? 设定datagrid的分页属性,然后在grid的PageIndexChanged事件中DataGrid1.CurrentPageIndex = e.NewPageIndex;重新绑定 DataGrid 支持三种类型的分页: 带有默认导航按钮的默认分页 带有自定义导航控件的默认分页 自定义分页 有关这些选项的讨论,请参阅 DataGrid Web 服务器控件中的分页行为。使用带有默认导航控件的默认分页若要启用默认分页,请设置属性以启用分页,设置页大小,并指定分页控件的样式。分页控件是 LinkButton 控件。可以从以下这些类型中选择: 下一页和上一页按钮。按钮标题可以为所需的任何文本。 页码,它允许用户跳转到特定页。可以指定显示多少页,如果有多页,在页码旁边显示一个省略号(...)。 还必须创建一个当用户单击导航控件时进行响应的事件处理程序。指定分页 将控件的 AllowPaging 属性设置为 true。 将 PageSize 属性设置每页要显示的项数。 要设置分页按钮的外观,可将 <asp:PagerStyle> 元素作为 DataGrid 控件的子级键入页中。有关语法,请参阅 DataGrid Web 服务器控件。 为网格的 PageIndexChanged 事件创建一个响应分页请求的事件处理程序。DataGridPageChangedEventsArgs 枚举包含 NewPageIndex 属性,该属性是用户要浏览到的页。将 DataGrid 的 CurrentPageIndex 属性设置为 e.NewPageIndex,然后重新绑定数据。 ' Visual BasicPrivate Sub DataGrid1_PageIndexChanged(ByVal source As Object, _ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _Handles DataGrid1.PageIndexChanged DataGrid1.CurrentPageIndex = e.NewPageIndex DataGrid1.DataBind()End Sub// C#private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e){ DataGrid1.CurrentPageIndex = e.NewPageIndex; DataGrid1.DataBind();}编程指定分页 使用 Page_Load 事件启用分页并设置模式和按钮属性。下面的示例显示可以如何设置一个名为 DataGrid1 的 DataGrid 控件,以使用简单分页并响应导航请求。此代码将页导航样式设置为在第一次显示该页时一次显示五页。当用户单击一个导航控件时,此代码仅重新绑定到数据源。 ' Visual BasicPrivate Sub Page_Load(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here With DataGrid1 ' Enable paging. .AllowPaging = True ' Display 5 page numbers at a time. .PagerStyle.Mode = PagerMode.NumericPages .PagerStyle.PageButtonCount = 5 .PageSize = 5 End With If Not Page.IsPostBack Then DataGrid1.DataBind() End IfEnd Sub// C#private void Page_Load(object sender, System.EventArgs e){ // Put user code to initialize the page here DataGrid1.AllowPaging = true; DataGrid1.PagerStyle.Mode = PagerMode.NumericPages; DataGrid1.PagerStyle.PageButtonCount = 5; DataGrid1.PageSize = 5; if (!Page.IsPostBack) { DataGrid1.DataBind(); }}为网格的 PageIndexChanged 事件创建一个响应分页请求的事件处理程序。使用 e.NewPageIndex 更新 DataGrid 的 CurrentPageIndex,然后重新绑定数据。 ' Visual BasicPrivate Sub DataGrid1_PageIndexChanged(ByVal source As Object, _ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _Handles DataGrid1.PageIndexChanged DataGrid1.CurrentPageIndex = e.NewPageIndex DataGrid1.DataBind()End Sub// C#private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e){ DataGrid1.CurrentPageIndex = e.NewPageIndex; DataGrid1.DataBind();}使用带有自定义导航控件的默认分页您可以提供自己的导航按钮并操作 DataGrid 的 CurrentPageIndex 属性。DataGrid 仍负责将数据源拆分到相应的页中并显示选定的页。提供自定义导航控件 向 Web 窗体页添加用户可用来导航的服务器控件。例如,可能希望创建上面带有前进和后退图像的 ImageButton 控件。 在导航控件的事件处理程序中,将 DataGrid 控件的 CurrentPageIndex 属性设置为要转到的页,然后将网格重新绑定到数据源。 下面的代码显示可以如何为 VCR 样式的导航面板创建代码,该面板包含允许用户转到第一页、最后一页、上一页或下一页的按钮。按钮将作为 Button 控件定义,其 CommandName 属性设置用于表示导航的方向。所有这四个按钮在单击时都将调用以下 NavigationButtonClicked 方法。 ' Visual BasicPrivate Sub Page_Load(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here If Not Page.IsPostBack Then DataGrid1.DataBind() End IfEnd SubPrivate Sub NavigationButtonClicked(ByVal sender As Object, _ByVal e As EventArgs) Handles FirstPage.Click, PreviousPage.Click, NextPage.Click, LastPage.Click Dim direction As String = CType(sender, Button).CommandName Select Case direction.ToUpper() Case "FIRST" DataGrid1.CurrentPageIndex = 0 Case "PREVIOUS" DataGrid1.CurrentPageIndex = _ Math.Max(0, DataGrid1.CurrentPageIndex - 1) Case "NEXT" DataGrid1.CurrentPageIndex = _ Math.Min(DataGrid1.PageCount - 1, _ DataGrid1.CurrentPageIndex + 1) Case "LAST" DataGrid1.CurrentPageIndex = _ DataGrid1.PageCount - 1 Case Else End Select DataGrid1.DataBind()End Sub// C#private void Page_Load(object sender, System.EventArgs e){ // Put user code to initialize the page here. // Have all the buttons hook up to the same event. First.Click += new System.EventHandler(this.NavigationButtonClick); Previous.Click += new System.EventHandler(this.NavigationButtonClick); Next.Click += new System.EventHandler(this.NavigationButtonClick); Last.Click += new System.EventHandler(this.NavigationButtonClick);}private void NavigationButtonClick(object sender, System.EventArgs e){ string direction = ((Button)sender).CommandName; switch (direction.ToUpper()) { case "FIRST" : DataGrid1.CurrentPageIndex = 0; break; case "PREVIOUS" : DataGrid1.CurrentPageIndex = Math.Max(DataGrid1.CurrentPageIndex -1, 0); break; case "NEXT" : DataGrid1.CurrentPageIndex = Math.Min(DataGrid1.CurrentPageIndex + 1, DataGrid1.PageCount - 1); break; case "LAST" : DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1; break; default : break; } DataGrid1.DataBind();}创建自定义分页通过使用 DataGrid 的 AllowCustomPaging 属性,可以完全控制要显示哪些记录。自定义分页通过减少在系统中来回移动的数据量来提高性能,因为可一次只从数据源检索一页数据。有关自定义分页的信息,请参阅 DataGrid.AllowCustomPaging 属性。 private void DataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { DataGrid.SelectedIndex = -1; DataGrid.CurrentPageIndex = e.NewPageIndex; BindData(); } 试试上面这段代码,我是在web窗体中用的,首先要在DataGrid的click中双击PageIndexChanged,然后在生成的事件中添加以上的代码就可以了,你自己试试。 问一个兼容性的问题,ie可以火狐不行? 解释下这代码c#的 如何清空datagridview中某单元格的值 怎么得到指定路径的.exe文件的ico图片 二进制转换十六进制 问个小问题,DataReader 能实现数据插入,删除,更新操作吗? 如何获得datagrid的超连接列的内容? . 的ASCII码是什么? 关于VS.NET的安装程序的制作问题,请高手帮忙!得到解答,立即结帐! 我刚刚学了C#,但是不知道自己的程度 在线等候:VS2002和framework1.1 急聘ASP.net \c#程序员
DataGrid1.CurrentPageIndex = e.NewPageIndex;
重新绑定
带有自定义导航控件的默认分页
自定义分页
有关这些选项的讨论,请参阅 DataGrid Web 服务器控件中的分页行为。使用带有默认导航控件的默认分页
若要启用默认分页,请设置属性以启用分页,设置页大小,并指定分页控件的样式。分页控件是 LinkButton 控件。可以从以下这些类型中选择: 下一页和上一页按钮。按钮标题可以为所需的任何文本。
页码,它允许用户跳转到特定页。可以指定显示多少页,如果有多页,在页码旁边显示一个省略号(...)。
还必须创建一个当用户单击导航控件时进行响应的事件处理程序。指定分页 将控件的 AllowPaging 属性设置为 true。
将 PageSize 属性设置每页要显示的项数。
要设置分页按钮的外观,可将 <asp:PagerStyle> 元素作为 DataGrid 控件的子级键入页中。有关语法,请参阅 DataGrid Web 服务器控件。
为网格的 PageIndexChanged 事件创建一个响应分页请求的事件处理程序。DataGridPageChangedEventsArgs 枚举包含 NewPageIndex 属性,该属性是用户要浏览到的页。将 DataGrid 的 CurrentPageIndex 属性设置为 e.NewPageIndex,然后重新绑定数据。
' Visual Basic
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _
Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub// C#
private void DataGrid1_PageIndexChanged(object source,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
编程指定分页 使用 Page_Load 事件启用分页并设置模式和按钮属性。下面的示例显示可以如何设置一个名为 DataGrid1 的 DataGrid 控件,以使用简单分页并响应导航请求。此代码将页导航样式设置为在第一次显示该页时一次显示五页。当用户单击一个导航控件时,此代码仅重新绑定到数据源。
' Visual Basic
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here With DataGrid1
' Enable paging.
.AllowPaging = True
' Display 5 page numbers at a time.
.PagerStyle.Mode = PagerMode.NumericPages
.PagerStyle.PageButtonCount = 5
.PageSize = 5
End With If Not Page.IsPostBack Then
DataGrid1.DataBind()
End If
End Sub// C#
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
DataGrid1.AllowPaging = true;
DataGrid1.PagerStyle.Mode = PagerMode.NumericPages;
DataGrid1.PagerStyle.PageButtonCount = 5;
DataGrid1.PageSize = 5; if (!Page.IsPostBack)
{
DataGrid1.DataBind();
}
}
为网格的 PageIndexChanged 事件创建一个响应分页请求的事件处理程序。使用 e.NewPageIndex 更新 DataGrid 的 CurrentPageIndex,然后重新绑定数据。
' Visual Basic
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _
Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub// C#
private void DataGrid1_PageIndexChanged(object source,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
使用带有自定义导航控件的默认分页
您可以提供自己的导航按钮并操作 DataGrid 的 CurrentPageIndex 属性。DataGrid 仍负责将数据源拆分到相应的页中并显示选定的页。提供自定义导航控件 向 Web 窗体页添加用户可用来导航的服务器控件。例如,可能希望创建上面带有前进和后退图像的 ImageButton 控件。
在导航控件的事件处理程序中,将 DataGrid 控件的 CurrentPageIndex 属性设置为要转到的页,然后将网格重新绑定到数据源。
下面的代码显示可以如何为 VCR 样式的导航面板创建代码,该面板包含允许用户转到第一页、最后一页、上一页或下一页的按钮。按钮将作为 Button 控件定义,其 CommandName 属性设置用于表示导航的方向。所有这四个按钮在单击时都将调用以下 NavigationButtonClicked 方法。 ' Visual Basic
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not Page.IsPostBack Then
DataGrid1.DataBind()
End If
End SubPrivate Sub NavigationButtonClicked(ByVal sender As Object, _
ByVal e As EventArgs) Handles FirstPage.Click, PreviousPage.Click, NextPage.Click, LastPage.Click
Dim direction As String = CType(sender, Button).CommandName Select Case direction.ToUpper()
Case "FIRST"
DataGrid1.CurrentPageIndex = 0
Case "PREVIOUS"
DataGrid1.CurrentPageIndex = _
Math.Max(0, DataGrid1.CurrentPageIndex - 1)
Case "NEXT"
DataGrid1.CurrentPageIndex = _
Math.Min(DataGrid1.PageCount - 1, _
DataGrid1.CurrentPageIndex + 1)
Case "LAST"
DataGrid1.CurrentPageIndex = _
DataGrid1.PageCount - 1
Case Else
End Select DataGrid1.DataBind()
End Sub// C#
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here. // Have all the buttons hook up to the same event.
First.Click += new System.EventHandler(this.NavigationButtonClick);
Previous.Click +=
new System.EventHandler(this.NavigationButtonClick);
Next.Click += new System.EventHandler(this.NavigationButtonClick);
Last.Click += new System.EventHandler(this.NavigationButtonClick);
}private void NavigationButtonClick(object sender, System.EventArgs e)
{
string direction = ((Button)sender).CommandName; switch (direction.ToUpper())
{
case "FIRST" :
DataGrid1.CurrentPageIndex = 0;
break;
case "PREVIOUS" :
DataGrid1.CurrentPageIndex =
Math.Max(DataGrid1.CurrentPageIndex -1, 0);
break;
case "NEXT" :
DataGrid1.CurrentPageIndex =
Math.Min(DataGrid1.CurrentPageIndex + 1,
DataGrid1.PageCount - 1);
break;
case "LAST" :
DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1;
break;
default :
break;
}
DataGrid1.DataBind();
}
创建自定义分页
通过使用 DataGrid 的 AllowCustomPaging 属性,可以完全控制要显示哪些记录。自定义分页通过减少在系统中来回移动的数据量来提高性能,因为可一次只从数据源检索一页数据。有关自定义分页的信息,请参阅 DataGrid.AllowCustomPaging 属性。
{
DataGrid.SelectedIndex = -1;
DataGrid.CurrentPageIndex = e.NewPageIndex;
BindData();
}