第九天
學習目的:學會用DATAGRID分頁顯示
雖然說DATAGRID的分頁顯示效率不怎麼高,但是不管怎麼說,它是最方便的分頁顯示,對於做一個留言簿還是相當簡單實用的。對於啟用分頁功能還有一個重要要求,只能在DATADRID控件的數據源實現了ICOLLECTION接口的情況下才能啟用分頁功能,而DATAREADER沒有這個接口,所以必須使用DATATABLE來代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndExchanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<Html>
<body>
<ASP:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true" 啟用分頁功能
pagesize="3" 每一頁顯示三條記錄
onpageindexchanged="dgrdMain_pageindexchanged " 調用第×頁的函數為dgrdMain_PageIndExchanged()
runat="server"
/>
</body>
</Html>
<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndExchanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<Html>
<body>
<ASP:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true" 啟用分頁功能
pagesize="3" 每一頁顯示三條記錄
onpageindexchanged="dgrdMain_pageindexchanged " 調用第×頁的函數為dgrdMain_PageIndExchanged()
runat="server"
/>
</body>
</Html>
這樣就是最簡單的分頁,我們可以用參數pagestyle-mode="nextprev/numericpages"來設定是顯示上一頁、下一頁方式還是直接選擇頁面的數字方式來實現頁面跳轉。如果是前者我們可以用pagestyle-nextpagetext來設定包含下一頁鏈接的文本,用pagestyle-prevpagetext來設定包含上一頁鏈接的文本;如果是後者我們可以用PagerStyle-PageButtonCount來設定在使用省略號之前顯示的頁面編號數量(默認是10)
今天就說到這裡,明天說一下SESSION和COOKIE。