Beberapa hari yang lalu, saya menulis tentang <<Menerapkan paging dalam prosedur tersimpan>> dan <<Penjelasan mendetail tentang peristiwa kontrol GridView>>. Kemudian, beberapa orang bertanya kepada saya bagaimana menerapkan hal ini di GridView! Sebenarnya, ini sangat sederhana , terutama bagaimana caranya Ada masalah dengan menyimpan nomor halaman PageIndex halaman saat ini, tetapi semuanya lebih mudah diselesaikan. Karena dalam proses paging: PageSize sudah pasti, kita dapat menggunakan atribut untuk mewakilinya simpan PageIndex, dan datanya tidak terlalu besar. Pada dasarnya, tidak akan ada banyak sumber daya. Seperti kata pepatah lama, tidak peduli berapa banyak kata yang diucapkan, tidak ada contoh yang
intuitif untuk menyimpan PageIndex yang merupakan nomor halaman saat ini. Bila halaman sebelumnya diklik maka nilainya akan dikurangi. Pertama diketahui 0. Yang perlu diperhatikan adalah nomor halaman halaman pertama di sini adalah 0 alih-alih 1. Mari kita lihat kodenya, lalu kita akan menganalisisnya!
1<asp:GridView ID="NewsGrid" runat="server" AutoGenerateColumns="False" AllowPaging="false" width="100%">
2 <Kolom>
3 <asp:BoundField DataField="NewsId" HeaderText="NewsID"/>
4 <asp:HyperLinkField DataNavigateUrlFields="NewsId" DataNavigateUrlFormatString="~/Details.aspx?ID={0}"
5 DataTextField="Judul" HeaderText="Judul Berita" ItemStyle-Width="70%"/>
6 <asp:BoundField DataField="PostTime" HeaderText="Waktu Posting"/>
7 <asp:CommandField HeaderText="Manajemen Berita" ShowCancelButton="False" ShowDeleteButton="Benar"
8 ShowEditButton="Benar"/>
9 </Kolom>
10 </asp:Tampilan Grid>
11 <div style=" tinggi:16px; padding-top:5px; margin-kanan:30px; float:kanan">
12 <asp:HiddenField ID="CurrentPage" runat="server" Value="0"/>
13 <asp:LinkButton ID="Pertama" runat="server" CommandArgument="pertama" OnClick="PagerButton_Click">Beranda</asp:LinkButton>
14 <asp:LinkButton ID="Prev" runat="server" CommandArgument="prev" OnClick="PagerButton_Click">Halaman sebelumnya</asp:LinkButton>
15 <asp:LinkButton ID="Next" runat="server" CommandArgument="next" OnClick="PagerButton_Click">Halaman Berikutnya</asp:LinkButton>
16 <asp:LinkButton ID="Last" runat="server" CommandArgument="last" OnClick="PagerButton_Click">Halaman terakhir</asp:LinkButton>
17 </div> Kode dalam file CS:
1 void PagerButton_Click yang dilindungi (pengirim objek, EventArgs e)
2 {
3 int pageIndx = Convert.ToInt32(CurrentPage.Value);
4 int total = NewsManager.GetNews(0, pageSize).TotalRecords;
5 int halaman = (total % ukuran halaman) == 0 ? (total / ukuran halaman) : (total / ukuran halaman + 1);
6 string arg = ((LinkButton)pengirim).CommandArgument.ToString().ToLower();
7 saklar (arg)
8 {
9 kasus "sebelumnya":
10 jika (halamanIndx > 0)
11 {
12 halamanIndx -= 1;
13}
14 istirahat;
15 kasus "berikutnya":
16 jika (halamanIndx < halaman - 1)
17 {
18 halamanIndx += 1;
19}
20 istirahat;
21 kasus "terakhir":
22 halamanIndx = halaman - 1;
23 istirahat;
24standar:
25 halamanIndx = 0;
26 istirahat;
27}
28 CurrentPage.Value = pageIndx.ToString();
29 NewsGrid.DataSource = NewsManager.GetNews(pageIndx, pageSize).Entitas;
30 NewsGrid.DataBind();
31}
Bukankah ini sangat sederhana? Anda akan memahaminya setelah membaca kodenya. Saya tidak akan menjelaskan secara detail di sini tentang penggunaan tombol untuk meneruskan parameter. Ada juga atribut Entitas. Di <<Kelas entitas aplikasi EntitySet mengimplementasikan fungsi generik yang serupa> > di sini dapat ditemukan di artikel
http://www.cnblogs.com/xdotnet/archive/2006/09/29/gridview_paging_myself.html