2009-01-07 29 views

回答

1

這是我創建的一個尋呼控件,放入GridView的PagerTemplate中。這不是最複雜的東西,但它顯示了一個尋呼機控制如何「看到」它所屬的網格,並使下拉跳轉到特定頁面。

DataPager.ascx

<%@ Control Language="C#" AutoEventWireup="true" EnableViewState="true" CodeFile="DataPager.ascx.cs" Inherits="Resources_Controls_DataPager" %> 
<div> 
    <div style="float:right;"> 
     <asp:ImageButton id="PageFirst" 
      CommandName="Page" 
      CommandArgument="First" 
      runat="server" /> 
     <asp:ImageButton id="PagePrev" 
      CommandName="Page" 
      CommandArgument="Prev" 
      runat="server" /> 
     &nbsp;&nbsp;Page 
     <asp:DropDownList id="pagesDropDown" 
      autopostback="true" 
      OnSelectedIndexChanged="pagesDropDown_SelectedIndexChanged" 
      runat="server" /> 
     <asp:Label id="pageTotalPages" runat="server" />&nbsp;&nbsp; 
     <asp:ImageButton ID="PageNext" 
      CommandName="Page" 
      CommandArgument="Next" 
      runat="server" /> 
     <asp:ImageButton ID="PageLast" 
      CommandName="Page" 
      CommandArgument="Last" 
      runat="server" /> 
    </div> 
    <div style="clear:both;"></div> 
</div> 

DataPager.ascx.cs

public partial class Resources_Controls_DataPager : System.Web.UI.UserControl 
{ 
    #region Property: ParentGrid 
    public GridView ParentGrid 
    { 
     get { return (GridView)Parent.Parent.Parent.Parent; } 
    } 
    #endregion 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     FillPage(); 
    } 

    public void FillPage() 
    { 
     if (ParentGrid != null && pagesDropDown.Items.Count == 0) 
     { 
      pagesDropDown.Items.Clear(); 
      for (int ix = 0; ix < ParentGrid.PageCount; ix++) 
      { 
       ListItem item = new ListItem((ix + 1).ToString()); 
       item.Selected = (ix == ParentGrid.PageIndex); 
       pagesDropDown.Items.Add(item); 
      } 

      if (pagesDropDown.Items.Count == 0) 
       pagesDropDown.Items.Add(new ListItem("0")); 

      pageTotalPages.Text = String.Format("of {0}", ParentGrid.PageCount); 
     } 
    } 

    protected void pagesDropDown_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     ParentGrid.PageIndex = pagesDropDown.SelectedIndex; 
    } 
} 
+0

非常感謝。我會測試它。 HOHO ... – 2009-01-07 17:11:29

相關問題