<%@ Import Namespace="System.Data" %><html>
<script language="C#" runat="server"> ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr; dt.Columns.Add(new DataColumn("整数值", typeof(Int32)));
dt.Columns.Add(new DataColumn("字符串值", typeof(string)));
dt.Columns.Add(new DataColumn("日期时间值", typeof(string)));
dt.Columns.Add(new DataColumn("布尔值", typeof(bool))); for (int i = 0; i < 200; i++) {
dr = dt.NewRow(); dr[0] = i;
dr[1] = "项 " + 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) {
if (chk1.Checked) {
MyDataGrid.PagerStyle.Mode=PagerMode.NumericPages;
}
else {
MyDataGrid.PagerStyle.Mode=PagerMode.NextPrev;
} BindGrid();
} void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid();
} void BindGrid() {
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
ShowStats();
} void ShowStats() {
lblCurrentIndex.Text = "CurrentPageIndex 为 " + MyDataGrid.CurrentPageIndex;
lblPageCount.Text = "PageCount 为 " + MyDataGrid.PageCount;
}
</script><body> <h3><font face="宋体">DataGrid 的基本分页</font></h3> <form runat=server> <ASP:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right"
PagerStyle-NextPageText="下一页"
PagerStyle-PrevPageText="上一页"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/> <p>
<asp:Checkbox id="chk1" runat="server"
Text="显示数值页导航按钮"
Font-Name="Verdana"
Font-Size="8pt"
AutoPostBack="true"
/> <p>
<table bgcolor="#eeeeee" cellpadding="6"><tr><td nowrap><font face="宋体" size="-2"> <asp:Label id="lblCurrentIndex" runat="server" /><br>
<asp:Label id="lblPageCount" runat="server" /><br> </font></td></tr></table>
</form></body>
</html>
<script language="C#" runat="server"> ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr; dt.Columns.Add(new DataColumn("整数值", typeof(Int32)));
dt.Columns.Add(new DataColumn("字符串值", typeof(string)));
dt.Columns.Add(new DataColumn("日期时间值", typeof(string)));
dt.Columns.Add(new DataColumn("布尔值", typeof(bool))); for (int i = 0; i < 200; i++) {
dr = dt.NewRow(); dr[0] = i;
dr[1] = "项 " + 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) {
if (chk1.Checked) {
MyDataGrid.PagerStyle.Mode=PagerMode.NumericPages;
}
else {
MyDataGrid.PagerStyle.Mode=PagerMode.NextPrev;
} BindGrid();
} void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid();
} void BindGrid() {
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
ShowStats();
} void ShowStats() {
lblCurrentIndex.Text = "CurrentPageIndex 为 " + MyDataGrid.CurrentPageIndex;
lblPageCount.Text = "PageCount 为 " + MyDataGrid.PageCount;
}
</script><body> <h3><font face="宋体">DataGrid 的基本分页</font></h3> <form runat=server> <ASP:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right"
PagerStyle-NextPageText="下一页"
PagerStyle-PrevPageText="上一页"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/> <p>
<asp:Checkbox id="chk1" runat="server"
Text="显示数值页导航按钮"
Font-Name="Verdana"
Font-Size="8pt"
AutoPostBack="true"
/> <p>
<table bgcolor="#eeeeee" cellpadding="6"><tr><td nowrap><font face="宋体" size="-2"> <asp:Label id="lblCurrentIndex" runat="server" /><br>
<asp:Label id="lblPageCount" runat="server" /><br> </font></td></tr></table>
</form></body>
</html>
解决方案 »
- JS数组查询怎么实现,不用循环。
- calender控件
- 用window.alert()方法为什么不能显示Exception.Message?
- 如何在一个表格中绑定XML文件呢??我的XML文件是用来绑定在TreeView中的
- 怎么CreateChildControls()会在Render()后面执行?(Page类)
- 本版我的问题,关于Datagrid
- 找一个学习用的项目
- 我在Table控件里面加入了很多控件,该如何赋值、取值?请指教!
- 水晶报表图例如何改成中文?
- 关于source control的问题
- 求援:两个组合框采用相同的记录集?但在绑定第二个组合框时出错,大家是怎么解决的?谢谢!!!
- 由当前WEB页给另一个WEB页上的控件付值???(在线等待!!!)
<%@Import Namespace="System.Data.OleDb"%>
<html>
<body>
<Form runat="server">
<asp:DataGrid
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontanAlign="Right"
PagerStyle-NextPageText="下一页"
PagerStyle-PrevPageText="上一页"
OnPageindexChanged="ChangePage"
Headerstyle-BackColor="#AAAADD"
AlternatingItemStyle-BackColor="#FFFFCD"
BorderColor="Black"
CellPadding="2"
CellSpacing="0"
id="Grid1" runat="server"/>
</Form>
</body>
</html>
<script language="VB" runat="server">
Dim startIndex As Integer
Sub BindGrid()
Dim Provider,DataBase,ConnStr,SQL As String
'第一步: 进行数据库的链接
Provider="Microsoft.Jet.OLEDB.4.0;"
DataBase=Server.MapPath("Sample.mdb")
ConnStr="Provider="+Provider+"Data Source="+DataBase
'第二步:执行SQL指令,选出记录集合
Dim Cmd As OleDbDataAdapter
Cmd=New OleDbDataAdapter("Select * From 学生成绩表",ConnStr)
Dim ds As DataSet=New DataSet()
Cmd.Fill(ds,"学生成绩表")
'第三步:将数据集合同DataGrid结合在一起
Grid1.DataSource=ds.Tables("学生成绩表").DefaultView
Grid1.DataBind()
End Sub
Sub Page_Load(Sender As Object,e As EventArgs)
If Not IsPostBack Then
startIndex = 0
End If
BindGrid
End Sub
Sub ChangePage(Sender As Object,e As DataGridPageChangedEventArgs)
startIndex = e.NewPageIndex*Grid1.PageSize
Grid1.CurrentPageIndex = e.NewPageIndex
BindGrid
End Sub
</script>
我DataGrid1_PageIndexChanged程序在webform.aspx.cs中
就是死活不执行,好像根本进不了这个事件处理程序中,代理肯定有,vs.net自己生成的。
真是不知道为什么,哪位高手指点一下。