您的位置:首页 > 编程语言 > C#

自定义DataGrid分页设置C#

2008-12-09 12:14 302 查看
Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="DictList" method="post" runat="server">
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" border="1">
<TR>
<td bgColor="#c0c000">信息:<FONT face="Arial" color="#ffffff">数据维护</FONT>
</td>
</TR>
<tr>
<td><FONT face="宋体"></FONT></td>
</tr>
<tr>
<td><asp:datagrid id="MyDataGrid" runat="server" Width="100%" PageSize="2" AllowPaging="True" AutoGenerateColumns="False" DataKeyField="FDictid">
<SelectedItemStyle BackColor="#FFC080"></SelectedItemStyle>
<HeaderStyle BackColor="#C0C000"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="选择" HeaderText="选择" CommandName="Select">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" Width="8%"></HeaderStyle>
<ItemStyle Font-Bold="True" HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="FDictID" SortExpression="FDictID asc" HeaderText="标识号">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="FNameCn" SortExpression="FNameCn asc" HeaderText="名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="FNameEn" SortExpression="FNameEn asc" HeaderText="英文名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="FNote" SortExpression="FNote asc" HeaderText="描叙">
<HeaderStyle Width="47%"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid></td>
</tr>
</TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" bgColor="#ff9966" border="1">
<TR>
<td align="right">
<asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist"
onclick="btnFirst_Click">首页</asp:linkbutton>
<asp:linkbutton id="btnPrev" runat="server" CommandArgument="prev"
onclick="btnPrev_Click">上一页</asp:linkbutton>
<asp:linkbutton id="btnNext" runat="server" CommandArgument="next"
onclick="btnNext_Click">下一页</asp:linkbutton>
<asp:linkbutton id="btnLast" runat="server" CommandArgument="last"
onclick="btnLast_Click">末页</asp:linkbutton>
<asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label>
跳转到<asp:DropDownList ID="DropDownList1" runat="server" Width="50px">
</asp:DropDownList>
<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox>
<asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px"
onclick="btnGo_Click1"></asp:Button></td>
</TR>
</TABLE>
</form>
</body>
</html>

Default.aspx.cs

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection myConnection;
private void Page_Load(object sender, System.EventArgs e)
{
string strConn = "server=KAOO_TIAN-SZ//SQLEXPRESS;uid=UserName;pwd=Password;database=TESTDB";
// 在此处放置用户代码以初始化页面
//myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnString"]);
myConnection = new SqlConnection(strConn);
myConnection.Open();
if (!IsPostBack)
BindGrid();
}

public void BindGrid()
{
string strSql = "SELECT * FROM t_dict";
SqlDataAdapter myCommand = new SqlDataAdapter(strSql, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "t_dict");
MyDataGrid.DataSource = ds.Tables["t_dict"].DefaultView;
MyDataGrid.DataBind();
ShowStatsPage();
}

void ShowStatsPage()
{
//显示页面信息
lblCurrentIndex.Text = "[当前:第" + ((int)MyDataGrid.CurrentPageIndex+1) + "页]";
lblPageCount.Text = "[共" + MyDataGrid.PageCount + "页]";
txtGoPage.Text = ((int)MyDataGrid.CurrentPageIndex + 1) + "";
//DropDownList1.DataSource = "";
//DropDownList1.DataBind();
DropDownList1.Items.Clear();
for (int i = 0; i < MyDataGrid.PageCount; i++)
{
DropDownList1.Items.Add(i + 1 + "");
}
DropDownList1.SelectedValue = MyDataGrid.CurrentPageIndex + 1 + "";
}

private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//处理按下数字的方法
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}

protected void btnFirst_Click(object sender, EventArgs e)
{
MyDataGrid.CurrentPageIndex = 0;
ShowStatsPage();
BindGrid();
}
protected void btnPrev_Click(object sender, EventArgs e)
{
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
ShowStatsPage();
BindGrid();
}
protected void btnNext_Click(object sender, EventArgs e)
{
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
ShowStatsPage();
BindGrid();
}
protected void btnLast_Click(object sender, EventArgs e)
{
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
ShowStatsPage();
BindGrid();
}
protected void btnGo_Click1(object sender, EventArgs e)
{
//页面直接跳转的代码
//if (txtGoPage.Text.Trim() != "")
if(DropDownList1.Text.Trim() != "")
{
int PageI = Int32.Parse(DropDownList1.Text.Trim()) - 1;
if (PageI >= 0 && PageI < (MyDataGrid.PageCount))
MyDataGrid.CurrentPageIndex = PageI;
}
ShowStatsPage();
BindGrid();
}
//----------------------翻页代码结束
}

TESTDB for SQL

Table Name:t_dict
FDictID Int 自動增長
FNameCn Nchar(10)
FNameEn Nchar(10)
FNote Nchar(100)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: