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; Using System. Data. SqlClient; Using ClassDataBase; Namespace WLNet. YellowPage { /// <Summary> /// Summary of ShowYellowPage. /// </Summary> Public class ShowYellowPage: System. Web. UI. Page { Private ClassYPage YPage = new ClassYPage (); Protected System. Web. UI. WebControls. Label lbTotalPage; Protected System. Web. UI. WebControls. Label lbTotalCount; Protected System. Web. UI. WebControls. Label lbCurrentPage; Protected System. Web. UI. WebControls. DropDownList ddlPage; Private string strConn = System. Configuration. ConfigurationSettings. etettings ["ConnectionString"]. ToString (); Protected Int32 CurrentPageNumber = 1; Protected System. Web. UI. WebControls. HyperLink lnkPrev; Protected System. Web. UI. WebControls. HyperLink lnkNext; Protected System. Web. UI. WebControls. DataList dlParent; Protected System. Web. UI. WebControls. HyperLink lnkFirst; Protected System. Web. UI. WebControls. HyperLink lnkLast; // initialization, set the current page to 1, always use Protected int PageSize = 10; Private void Page_Load (object sender, System. EventArgs e) { If (! IsPostBack) { BindData (); } } # Code generated by region Web Form Designer Override protected void OnInit (EventArgs e) { // // CODEGEN: This call is required by the ASP. NET Web form designer. // InitializeComponent (); Base. OnInit (e ); }
/// <Summary> /// The designer supports the required methods-do not use the code editor to modify /// Content of this method. /// </Summary> Private void InitializeComponent () { This. ddlPage. SelectedIndexChanged + = new System. EventHandler (this. ddlPage_SelectedIndexChanged ); This. Load + = new System. EventHandler (this. Page_Load ); } # Endregion Private void BindData () { SqlConnection Conn = new SqlConnection (strConn ); SqlCommand cmd = new SqlCommand ("GetIndexPage", Conn ); Cmd. CommandType = CommandType. StoredProcedure; SqlDataAdapter da = new SqlDataAdapter (); Da. SelectCommand = cmd; DataSet ds = new DataSet (); Da. Fill (ds, "IndexPage "); SqlCommand cmd1 = new SqlCommand ("GetSePage", Conn ); Repeated 1.commandtype = CommandType. StoredProcedure; SqlDataAdapter da1 = new SqlDataAdapter (); Da1.SelectCommand = cmd1; Da1.Fill (ds, "SePage "); Ds. Relations. Add ("MyRelations", ds. Tables ["IndexPage"]. Columns ["IndexID"], Ds. Tables ["SePage"]. Columns ["IndexID"]); PagedDataSource PPS = new PagedDataSource (); Pds. DataSource = ds. Tables ["IndexPage"]. DefaultView; PPS. AllowPaging = true; PPS. PageSize = 10; Int CurrentPageNumber; Int PageSize = PPS. PageSize; // Obtain the query parameters from the Page on the current Page If (Request. QueryString ["Page"]! = Null) CurrentPageNumber = Convert. ToInt32 (Request. QueryString ["Page"]); Else CurrentPageNumber = 1; Int TotalRecords = ds. Tables [0]. Rows. Count; Int TotalPages = TotalRecords/PageSize; // obtain the total number of pages (total number of records divided by the number of records on each page) Int ModePages = TotalRecords % PageSize; // obtain the remainder of the modulo operation (total number of records modulo the number of records on each page) If (ModePages> 0) // if the modulus is not equal to 0, add 1 to the total number of pages. { TotalPages + = 1; } If (ModePages = 0) // if the modulus is equal to 0, do nothing (or you do not need to judge) { } If (TotalPages = 0) { TotalPages = 1; } LbTotalPage. Text = TotalPages. ToString (); // display the total number of pages on the page LbTotalCount. Text = TotalRecords. ToString (); // displays the total number of records on the page. PPS. CurrentPageIndex = CurrentPageNumber-1; LbCurrentPage. Text = CurrentPageNumber. ToString ();
If (CurrentPageNumber = 1) { LnkFirst. Enabled = false; LnkPrev. Enabled = false; If (TotalPages> 1) { LnkNext. Enabled = true; LnkLast. Enabled = true; } Else { LnkNext. Enabled = false; LnkLast. Enabled = false; } } Else { LnkPrev. Enabled = true; LnkFirst. Enabled = true; If (CurrentPageNumber = TotalPages) { LnkNext. Enabled = false; LnkLast. Enabled = false; } Else { LnkNext. Enabled = true; LnkLast. Enabled = true; } } If (! PPS. IsFirstPage) { LnkPrev. NavigateUrl = Request. CurrentExecutionFilePath + "? Page = "+ Convert. ToString (CurrentPageNumber-1 ); LnkFirst. NavigateUrl = Request. CurrentExecutionFilePath + "? Page = "+ 1; }
If (! PPS. IsLastPage) { LnkNext. NavigateUrl = Request. CurrentExecutionFilePath + "? Page = "+ Convert. ToString (CurrentPageNumber + 1 ); LnkLast. NavigateUrl = Request. CurrentExecutionFilePath + "? Page = "+ Convert. ToString (TotalPages ); } DdlPage. Items. Clear (); // Clear the page number to jump to (if not cleared, the records will be added cyclically) Int PCount = int. Parse (lbTotalPage. Text); // you can obtain the total number of pages. For (int I = 1; I <= PCount; I ++) { DdlPage. Items. Add (I. ToString ()); } DdlPage. Items. FindByText (CurrentPageNumber. ToString (). Selected = true; // display the current page as the first in the list box // Assign the PagedDataSource object to the Repeater control DlParent. DataSource = PPS; DlParent. DataBind (); } Private void ddlPage_SelectedIndexChanged (object sender, System. EventArgs e) { Int PageSize = int. Parse (ddlPage. SelectedValue. ToString ()); Server. Transfer ("ShowYellowPage. aspx? Page = "+ PageSize ); BindData (); } } } |