天天看點

自定義DataGrid分頁設定

<script language="Javascript1"> </script>  

  關于我們 | 廣告服務 | 友情連結 | 連結代碼 | 傳回首頁                                         2004.7.1 Thu 10:10:00

設為首頁

加入收藏

ASP技術 | ASP.NET技術 | JSP/Servlet技術 | PHP技術 | JS技術 | C#技術 | Java技術 | XML技術 | B/S應用 | B/S論壇 | 下載下傳區
 DataGrid自動求和、合并單元格.
 asp.net實作驗證碼
 tabstrip和multipage的使用二
 tabstrip和multipage的使用
 兩個DataTable來綁定到DataGri.
 自定義DataGrid分頁設定
 ASP.NET中使用Caching
 一個檔案上傳的類
 ASP.NET中線上使用者統計
 網站間共享資料的WebService
 ASP.NET裡的事務處理
 VS.NET下web項目源代碼管理
 用TreeView實作樹菜單
 在DataGrid中建立一個彈出式窗.
 有關DataGrid顯示資料的問題
 讓Calendar在頁面調用時才顯示.
 在web.config中建立資料庫連接配接.
 實時天氣及24小時天氣預報
 資料庫中圖檔存儲及讀取
 如何在窗體和窗體之間傳送資料.
 利用ASP.NET來通路Excel文檔
 使用嵌套的Repeater控件
 用asp.net畫餅圖
 實作DataList控件的分頁
 用ASP.NET加密密碼
 使用RangeValidator
 C#做的ASP.NET登錄篇
 ASP.NET圖象處理詳解
 在網頁中動态的生成一個圖檔
 檢測含有中文字元串的實際長度.
 用ASP.NET和XML做的新聞系統
 如何在asp.net中操作檔案
 ASP.NET驗證控件祥解
 ASP.NET中的事務處理和異常處理.
 ASP.NET上傳檔案的執行個體
 在ASP.NET中通路SQL Server
 ASP.NET安全身份驗證的實作
 ASP.NET中密碼保護
 在ASP.NET中使用.NET元件
 實作Web檔案的上傳
 asp.net實作pop功能
 ASP.NET建立檔案并寫入内容
 在ASP.NET中動态生成圖形
 ASP.NET中文顯示之兩種解決方法.
 ASP.NET驗證控件詳解
 在ASP.NET中使用.NET元件
 資料驗證的asp.net程式
 一個完整的案例
 在ASP+的Form中檢查填寫是否正.
 增加修改删除一個資料
 個性化的分頁實作
 用ASP.NET識别浏覽器
 DataGrid學習七
 DataGrid學習六
 DataGrid學習五
 DataGrid學習四
 DataGrid學習三
 DataGrid學習二
 DataGrid學習一
 DataTable控件的使用
 RegularExpressionValidator
 ViewState初探
 ASP.Net的Session
 ASP.Net的Application
 AdRotator控件的使用
 ASP.Net的Cookie實作
 XML、DataSet、DataGrid結合二.
 XML、DataSet、DataGrid結合一.
 ASP.NET中的Web Controls
 ASP.NET程式數組功能調用
 ASP.NET與ASP的不同
 ASP.net發送Email
 ASP.NET、JSP及PHP之間的抉
自定義DataGrid分頁設定
源作者:追風                   人氣:13974
<script language="javascript" src=""></script>

  這裡我實作了DataGrid的個性化分頁,現在把代碼貼出來朋友們參考,同時在這個功能的實作過程,參考了“飛刀”從國外翻譯的一篇文章。

  先定義ASPX頁面,注意AllowCustomPaging要設為"False":

<body>

  <form id="DictList" method="post" runat="server">

      <TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" >

    <TR>

     <td bgColor="#c0c000">資訊:<FONT color="#ffffff">資料維護</FONT>

     </td>

    </TR>

    <tr>

     <td><FONT ></FONT></td>

    </tr>

    <tr>

     <td><asp:datagrid id="MyDataGrid" runat="server" Width="100%" PageSize="20" 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" >

    <TR>

     <td align="right"><asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist">首頁</asp:linkbutton>&nbsp;&nbsp;

      <asp:linkbutton id="btnPrev" runat="server" Width="36px" CommandArgument="prev">上一頁</asp:linkbutton>&nbsp;&nbsp;

      <asp:linkbutton id="btnNext" runat="server" CommandArgument="next">下一頁</asp:linkbutton>&nbsp;&nbsp;

      <asp:linkbutton id="btnLast" runat="server" CommandArgument="last">末頁</asp:linkbutton>&nbsp;&nbsp;

      <asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label>&nbsp;&nbsp;

      跳轉到<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox>

      <asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px"></asp:Button></td>

    </TR>

   </TABLE>

  </form>

codebehind主要功能部分代碼:

  private void Page_Load(object sender, System.EventArgs e)

  {

   // 在此處放置使用者代碼以初始化頁面

   myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnString"]);

   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();

  }

  private void PagerButtonClick(object sender, System.EventArgs e)

  {

   //獲得LinkButton的參數值

   String arg = ((LinkButton)sender).CommandArgument;

   switch(arg)

   {

    case ("next"):

     if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))

      MyDataGrid.CurrentPageIndex ++;

     break;

    case ("prev"):

     if (MyDataGrid.CurrentPageIndex > 0)

      MyDataGrid.CurrentPageIndex --;

     break;

    case ("fist"):

     MyDataGrid.CurrentPageIndex=0;

     break;

    case ("last"):

     MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);

     break;

    default:

     //本頁值

     MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);

     break;

   }

   BindGrid();

  }           

  void ShowStatsPage()

  {

   //顯示頁面資訊

   lblCurrentIndex.Text = "[<font color="blue">目前為第:" + ((int)MyDataGrid.CurrentPageIndex+1) + "頁</font>]";

   lblPageCount.Text = "[<font color="blue">共:" + MyDataGrid.PageCount + "頁</font>]";

  }

  private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

  {

   //處理按下數字的方法

   MyDataGrid.CurrentPageIndex = e.NewPageIndex;

   BindGrid();

  }

  private void btnGo_Click(object sender, System.EventArgs e)

  {

   //頁面直接跳轉的代碼

   if(txtGoPage.Text.Trim()!="")

   {

    int PageI=Int32.Parse(txtGoPage.Text.Trim())-1;

    if (PageI >=0 && PageI < (MyDataGrid.PageCount))

     MyDataGrid.CurrentPageIndex = PageI ;

   }

   BindGrid();

  }

  //----------------------翻頁代碼結束

繼續閱讀