给上次的DataGrid分页增加些功能!

2016-01-29 14:02 5 1 收藏

给上次的DataGrid分页增加些功能!,给上次的DataGrid分页增加些功能!

【 tulaoshi.com - ASP.NET 】

<%@ 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 < 200; i++) {
dr = dt.NewRow();

dr[0] = i;
dr = "Item " + Int32.ToString(i);
dr = DateTime.Now.ToShortDateString();
dr = (i % 2 != 0) ? true : false;

dt.Rows.Add(dr);
}

DataView dv = new DataView(dt);
return dv;
}

void Page_Load(Object sender, EventArgs e) {
if (chk1.Checked) {
MyDataGrid.PagerStyle.Visible=true;
}
else {
MyDataGrid.PagerStyle.Visible=false;
}

BindGrid();
}

void PagerButtonClick(Object sender, EventArgs e) {
//used by external paging UI
String arg = ((LinkButton)sender).CommandArgument;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

switch(arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex ++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex 0)
MyDataGrid.CurrentPageIndex --;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//page number
MyDataGrid.CurrentPageIndex = arg.ToInt32();
break;
}
BindGrid();
}

void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
//used by built-in pager. CurrentPageIndex already set
BindGrid();
}

void BindGrid() {
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
ShowStats();
}

void ShowStats() {
lblCurrentIndex.Text = "CurrentPageIndex is " + MyDataGrid.CurrentPageIndex;
lblPageCount.Text = "PageCount is " + MyDataGrid.PageCount;
}


</script

<body

<h3<font face="Verdana"Providing Alternate Paging UI</font</h3

<form runat=server

<ASP:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
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
<asp:LinkButton id="btnPrev" runat="server"
Text="Previous page"
CommandArgument="prev"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"
/

<asp:LinkButton id="btnNext" runat="server"
Text="Next page"
CommandArgument="next"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"
/

<asp:LinkButton id="btnPage8" runat="server"
Text="Go to Page 8"
CommandArgument="7"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"
/

<asp:LinkButton id="btnFirst" runat="server"
Text="Go to the first page"
CommandArgument="0"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"
/

<asp:LinkButton id="btnLast" runat="server"
Text="Go to the last page"
CommandArgument="last"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"
/


<p
<asp:Checkbox id="chk1" runat="server"
Text="Show built-in pager"
Font-Name="Verdana"
Font-Size="8pt"
AutoPostBack="true"
/

<p
<table bgcolor="#eeeeee" cellpadding="6"<tr<td nowrap<font face="Verdana" size="-2"

<asp:Label id="lblCurrentIndex" runat="server" /<br
<asp:Label id="lblPageCount" runat="server" /<br

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

</font</td&

来源:http://www.tulaoshi.com/n/20160129/1492322.html

延伸阅读
DataGrid连接Access的快速分页法(1)——需求与现状 一、需求分析 DataGrid是一个功能强大的ASP.NET Web服务器端控件,它除了能够按各种方式格式化显示数据,还可以对数据进行动态的排序、编辑和分页。大大减轻了广大Web程序员的工作量。实现DataGrid的分页功能一直是很多入门者感到棘手的问题,特别是自定义分页功能,实现的方法多种...
关于Datagrid中分页中产生的问题 DataGrid 分页功能有很多的帮助 但选择起来,一般还是使用自己定义分页的比较多 所在位置***/???[首页][上一页][][尾页]转到()go 使用这个方法还是有其方面的一面 现在有问题,DataGrid分页中的一个问题 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount 第二次搜索数据开始绑定的时...
标签: Web开发
今天改界面,发现datagrid可以用cssclass设置css风格,但是按钮列没有cssclass属性。忙活了半天,发现只能用程序设置按钮列属性。 设置方法如下(C#版本) 为datagrid添加ItemCreat事件,在ItemCreat事件里面添加如下代码 private void dgBoxList_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)   ...
代码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 DataGridDemoCS{ /// /// Demo1 的摘要说明。 /// public class DemoFina...
标签: Web开发
DataGrid是Asp.NET中的一个重要的控件,经常我们都将DataGrid做成可分页的和可排序的,有时还需要加上选择功能。这些都是经常需要用到的方法,其实是比较简单的。 设计思路: 为了方便起见,我们连接SQL Server 2000的NorthWind数据库的Orders表,从数据库里得到此表的数据视图。利用DataGrid的SortCommand事件实现排序。用一个模...

经验教程

640

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部