DataGrid分页小结

来源:互联网 发布:cnc编程代码及坐标大全 编辑:程序博客网 时间:2024/06/07 23:38

<%@ Page language="c#" Codebehind="DataGrid.aspx.cs" AutoEventWireup="false" Inherits="net.DataGrid"

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>DataGrid</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体">
    <asp:datagrid id="Dag_Test" style="Z-INDEX: 101; LEFT: 120px;

POSITION: absolute; TOP: 56px" runat="server"
     Width="520px" Height="248px" AutoGenerateColumns="False"

PageSize="5" AllowPaging="True" BorderColor="#DEDFDE"
     BorderStyle="None" BorderWidth="1px" BackColor="White"

CellPadding="4" GridLines="Vertical"
     ForeColor="Black">
     <SelectedItemStyle Font-Bold="True" ForeColor="White"

BackColor="#CE5D5A"></SelectedItemStyle>
     <AlternatingItemStyle

BackColor="White"></AlternatingItemStyle>
     <ItemStyle BackColor="#F7F7DE"></ItemStyle>
     <HeaderStyle Font-Bold="True" ForeColor="White"

BackColor="#6B696B"></HeaderStyle>
     <Columns>
      <asp:BoundColumn DataField="EmployeeID" HeaderText="编

号"></asp:BoundColumn>
      <asp:BoundColumn DataField="FirstName"

HeaderText="FirstName"></asp:BoundColumn>
      <asp:BoundColumn DataField="LastName"

HeaderText="LastName"></asp:BoundColumn>
     </Columns>
     <PagerStyle ForeColor="Black"

BackColor="#F7F7DE"></PagerStyle>
    </asp:datagrid></FONT></form>
 </body>
</HTML>
//////////////////
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
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 net
{
 /// <summary>
 /// DataGrid 的摘要说明。
 /// </summary>
 public class DataGrid : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid Dag_Test;
  private TextBox Tbx_TurnPage;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!Page.IsPostBack)
   {
    if(User_Test()==false)
    {
     return;
    }
   }
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Dag_Test.ItemCreated += new

System.Web.UI.WebControls.DataGridItemEventHandler(this.Dag_Test_ItemCreated);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  #region 数据库连接及查看
  /// <summary>
  /// 数据库连接及查看
  /// </summary>
  /// <returns></returns>
  private bool User_Test()
  {
   DataTable Dt = new DataTable();
   DataRow   Dr ;

   Dt.Columns.Add(new DataColumn("employeeID",typeof(Int32)));
   Dt.Columns.Add(new DataColumn("FirstName",typeof(string)));
   Dt.Columns.Add(new DataColumn("LastName",typeof(string)));

   string strConn = "server=localhost;database=northwind;UId=sa;pwd=";
   SqlConnection SConn = new SqlConnection(strConn);

   string SqlStr = "select employeeID,FirstName,LastName from Employees ";

   SqlCommand SComm = new SqlCommand(SqlStr,SConn);
   SConn.Open ();

   SqlDataReader Rd =SComm.ExecuteReader();
   while(Rd.Read())
   {
    Dr = Dt.NewRow();
    Dr[0] = Rd["employeeID"].ToString() ;
    Dr[1] = Rd["LastName"].ToString();
    Dr[2] = "<a href='test.aspx'>" + Rd["FirstName"].ToString() +"</a>";
    Dt.Rows.Add(Dr);
   }

   Rd.Close();
   SConn.Close();

   Dag_Test.DataSource = new DataView(Dt);
   Dag_Test.DataBind();

   return true;
  }
  #endregion

  private void Dag_Test_ItemCreated(object sender,

System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if (e.Item.ItemType == ListItemType.Pager)
   {
    e.Item.Cells[0].HorizontalAlign = HorizontalAlign.Right ;
    e.Item.Cells[0].Controls.Clear();

    Label lblPageCount = new Label();
    Label lblCurrentIndex = new Label();

    lblCurrentIndex.Text = "[第<font color='blue'>" +

(Dag_Test.CurrentPageIndex + 1) + "</font>页]" ;
                lblPageCount.Text = "[共<font color='blue'>"+ Dag_Test.PageCount + "</font>页]";

    e.Item.Cells[0].Controls.Add(lblPageCount);
    e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));

    e.Item.Cells[0].Controls.Add(lblCurrentIndex);
    e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));

    LinkButton LBtn_Prev=new LinkButton();
    LinkButton LBtn_Next=new LinkButton();

    LBtn_Prev.Text = "上一页";
    LBtn_Next.Text = "下一页";

    e.Item.Cells[0].Controls.Add(LBtn_Prev);
    e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));

    e.Item.Cells[0].Controls.Add(LBtn_Next);
                e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));

    this.Tbx_TurnPage = new TextBox();
    
    Tbx_TurnPage.Width = (Unit) 30;
    Tbx_TurnPage.BorderStyle = BorderStyle.Inset ;
    
    Tbx_TurnPage.Text = (Dag_Test.CurrentPageIndex+1).ToString();

    e.Item.Cells[0].Controls.Add(Tbx_TurnPage);
                e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));
    Button Btn_TurnPage = new Button();

    Btn_TurnPage.Text = "Go";
    
    e.Item.Cells[0].Controls.Add(Btn_TurnPage);
    e.Item.Cells[0].Controls.Add(new LiteralControl("&nbsp;"));

    Btn_TurnPage.Click += new EventHandler(this.Btn_TurnPage_Click);

    LBtn_Prev.Click += new EventHandler(this.LBtn_Prev_Click);

    LBtn_Next.Click += new EventHandler(this.LBtn_Next_Click);
   
   }

  }
  private void LBtn_Next_Click(object sender, EventArgs e)
  {
   if(Dag_Test.CurrentPageIndex<Dag_Test.PageCount-1)
   {
    Dag_Test.CurrentPageIndex = Dag_Test.CurrentPageIndex + 1;
    
    if(User_Test()==false)
    {
     return;
    }
   }
  }
  private void LBtn_Prev_Click(object sender, EventArgs e)
  {
   if(Dag_Test.CurrentPageIndex> 0)
   {
    Dag_Test.CurrentPageIndex = Dag_Test.CurrentPageIndex - 1;
  
    if(User_Test()==false)
    {
     return;
    }
   }
  }
  private void Btn_TurnPage_Click(object sender, EventArgs e)
  {
   int ToNum = 0;
   
   if (Tbx_TurnPage.Text.ToString() != "")
   {
    try
    {
     ToNum = int.Parse(Tbx_TurnPage.Text);
    }
    catch
    {
     
     return;
    }
   }

   if(ToNum>0)
   {
    if(Dag_Test.PageCount>ToNum||Dag_Test.PageCount==ToNum)
    {
     Dag_Test.CurrentPageIndex = ToNum-1;

     if(User_Test()==false)
     {
      return;
     }
    }
    return;   
   }
  }
 }
}

原创粉丝点击