//this function happens when a button in the datapager is pressed protected void subPager(object sender, DataPagerCommandEventArgs e) { e.NewMaximumRows = e.Item.Pager.MaximumRows; //switch statement that takes the button pressed by the user as the parameter switch (e.CommandName) { case "Next": if (e.Item.Pager.StartRowIndex + 3 < e.TotalRowCount) { e.NewStartRowIndex = e.Item.Pager.StartRowIndex + 3; //_subRebind(); } break; case "Prev": if (e.Item.Pager.StartRowIndex - 3 >= 0) { e.NewStartRowIndex = e.Item.Pager.StartRowIndex - 3; //_subRebind(); } break; } }
/// <summary> /// 按下PagerTemplate樣板中的按鈕(第一頁/上一頁/下一頁/最末頁)後會觸發; /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void TemplatePagerField_OnPagerCommand(object sender, DataPagerCommandEventArgs e) { logger.Debug("TemplatePagerField_OnPagerCommand"); //取得總筆數; TotalRowCount = _DataPager.TotalRowCount; //取得PageSize; PageSize = _DataPager.PageSize; //取得CurrentIndex; iCurrentIndex = e.Item.Pager.StartRowIndex; //取得SortKey, SortDirection ListViewSortKey = _ListView.SortExpression; ListViewSortDirection = _ListView.SortDirection; switch (e.CommandName) { case "FirstPage": //取得第一頁; PageNo = 0; //導至新的Current頁面; e.NewStartRowIndex = 0; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "PreviousPage": //取得Previous頁面; PageNo = (iCurrentIndex / PageSize) - 1; //導至新的Current頁面; e.NewStartRowIndex = PageNo * PageSize; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "NextPage": //取得Next頁面; PageNo = (iCurrentIndex / PageSize) + 1; //導至新的Current頁面; e.NewStartRowIndex = PageNo * PageSize; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "LastPage": //取得最末頁(筆數可整除每頁筆數, 總頁數減1. 反之, 不減1); if ((TotalRowCount % PageSize) == 0) { PageNo = (TotalRowCount / PageSize) - 1; } else { PageNo = (TotalRowCount / PageSize); } //導至新的Current頁面; e.NewStartRowIndex = PageNo * PageSize; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; } }
// protected void Button3_Click(object sender, EventArgs e) // { // string newWin = "window.open('" + txtRelatedLinksnew.Text.Trim() + "');"; //// // // ClientScript.RegisterStartupScript(this.GetType(), "pop", newWin, true); // ClientScript.RegisterStartupScript(this.GetType(), "pop", String.Format("<script>window.open('{0}');</script>", "http://" + txtRelatedLinksnew.Text.Trim())); // } protected void PagerCommand(object sender, DataPagerCommandEventArgs e) { switch (e.CommandName) { case "Next": // guard against going off the end of the list e.NewStartRowIndex = Math.Min(e.Item.Pager.StartRowIndex + e.Item.Pager.MaximumRows, e.Item.Pager.TotalRowCount - e.Item.Pager.MaximumRows); e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "Previous": // guard against going off the begining of the list e.NewStartRowIndex = Math.Max(0, e.Item.Pager.StartRowIndex - e.Item.Pager.MaximumRows); e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "Last": // the e.NewStartRowIndex = e.Item.Pager.TotalRowCount - e.Item.Pager.MaximumRows; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "First": default: e.NewStartRowIndex = 0; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; } }
protected void PagerCommand(object sender, DataPagerCommandEventArgs e) { // DataPager pager = e.Item.Pager; // int newStartRowIndex; switch (e.CommandName) { //case "Next": // newStartRowIndex = pager.StartRowIndex + pager.MaximumRows > pager.TotalRowCount ? pager.StartRowIndex : pager.StartRowIndex + pager.MaximumRows; // break; //case "Previous": // newStartRowIndex = pager.StartRowIndex - pager.MaximumRows < 0 ? pager.StartRowIndex : pager.StartRowIndex - pager.MaximumRows; // break; //case "Last": // newStartRowIndex = (pager.TotalRowCount / pager.MaximumRows) * pager.MaximumRows; // break; //case "First": //default: // newStartRowIndex = 0; // break; case "Next": // guard against going off the end of the list e.NewStartRowIndex = Math.Min(e.Item.Pager.StartRowIndex + e.Item.Pager.MaximumRows, e.Item.Pager.TotalRowCount - e.Item.Pager.MaximumRows); e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "Previous": // guard against going off the begining of the list e.NewStartRowIndex = Math.Max(0, e.Item.Pager.StartRowIndex - e.Item.Pager.MaximumRows); e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "Last": // the e.NewStartRowIndex = e.Item.Pager.TotalRowCount - e.Item.Pager.MaximumRows; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; case "First": default: e.NewStartRowIndex = 0; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; } // e.NewMaximumRows = e.Item.Pager.MaximumRows; // e.NewStartRowIndex = newStartRowIndex; }
protected void TemplateGoTo_OnPagerCommand(object sender, DataPagerCommandEventArgs e) { // Since there is only one Button control, we don't need // to use "switch" or "if". // Fetch the new pager number from the TextBox tbPagerNumber. int iNewPage = Convert.ToInt32(((TextBox)e.Item.FindControl("tbPageNumber")).Text); // Calculate the new index of the first row to display. int iNewIndex = e.Item.Pager.PageSize * (iNewPage - 1); // The new row index cannot be bigger than total row count if (iNewIndex <= e.TotalRowCount) { e.NewStartRowIndex = iNewIndex; e.NewMaximumRows = e.Item.Pager.MaximumRows; } }
/// <summary> /// The template pager field_ on pager command. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> protected void TemplatePagerField_OnPagerCommand(object sender, DataPagerCommandEventArgs e) { // Check which button raised the event switch (e.CommandName) { case "ShowAll": if (e.Item.Pager.PageSize == Int32.MaxValue) { e.Item.Pager.SetPageProperties(0, CategoryPageSize, true); } else { e.Item.Pager.SetPageProperties(0, Int32.MaxValue, true); } break; default: break; } }
protected void TemplateNextPrevious_OnPagerCommand(object sender, DataPagerCommandEventArgs e) { // Check which LinkButton control raised the event. // MaximumRows: The maximum number of records that are displayed // for each page of data. // StartRowIndex: The index of the first record that is displayed // on a page of data. // TotalRowCount: The total number of records that are available // in the underlying data source. switch (e.CommandName) { // "First" is clicked. case "First": // In this sample, the maximum number of records on // each page is 10, which is the default page size. // The first page shows the first 10 rows of the data // source, whose row index start from 0. e.NewStartRowIndex = 0; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; // "Previous" is clicked. case "Previous": // The previous page shows the following 10 rows of // the current page. e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; // "Next" is clicked. case "Next": // The next page shows 10 rows which start from the last // row in current page. int iNewIndex = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize; // The new index of the first row to display cannot // be bigger than total row count if (iNewIndex <= e.TotalRowCount) { e.NewStartRowIndex = iNewIndex; e.NewMaximumRows = e.Item.Pager.MaximumRows; } break; // "Last" is clicked. case "Last": // The last page shows the last rows of the data source, // which are the remainders after total number is // divided by page size. e.NewStartRowIndex = e.TotalRowCount - e.TotalRowCount % e.Item.Pager.PageSize; e.NewMaximumRows = e.Item.Pager.MaximumRows; break; } }