国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET 2.0數(shù)據(jù)處理之高級(jí)分頁/排序

2024-07-10 13:09:09
字體:
供稿:網(wǎng)友
  gridview控件中的"選擇"操作純粹是一個(gè)ui概念,它的selectedindex屬性與表格的可視數(shù)據(jù)行中的當(dāng)前被選中的行的索引相對(duì)應(yīng)。如果你啟用了表格的分頁和排序功能,在執(zhí)行分頁或排序操作之后,selectedindex的值仍然不會(huì)變化,因此在執(zhí)行這些操作之后,一個(gè)新數(shù)據(jù)行被選中了。在某些環(huán)境下,保留對(duì)指定數(shù)據(jù)行的選中更好,即使該行在表格的當(dāng)前頁面中并不可視。下面的例子演示了如何在排序和分頁操作之后仍然保留當(dāng)前選中的數(shù)據(jù)行。

sub gridview1_databound(byval sender as object, byval e as system.eventargs)
 dim row as gridviewrow
 dim selectedvalue as string = viewstate("selectedvalue")
 if selectedvalue is nothing then
  return
 end if
 ' 檢測(cè)選擇的行是哪個(gè)并重新選中它
 for each row in gridview1.rows
  dim keyvalue as string = gridview1.datakeys(row.rowindex).value
  if (keyvalue = selectedvalue) then
   gridview1.selectedindex = row.rowindex
  end if
 next
end sub

protected sub gridview1_selectedindexchanged(byval sender as object, byval e as system.eventargs)
 ' 保存選中行的索引
 if (not gridview1.selectedindex = -1) then
  viewstate("selectedvalue") = gridview1.selectedvalue
 end if
end sub

protected sub gridview1_pageindexchanging(byval sender as object, byval e as system.web.ui.webcontrols.gridviewpageeventargs)
 ' 重置選中索引
 gridview1.selectedindex = -1
end sub

sub gridview1_sorting(byval sender as object, byval e as system.web.ui.webcontrols.gridviewsorteventargs)
 ' 重置選擇索引
 gridview1.selectedindex = -1
end sub

  gridview和detailsview還支持一種用于分頁和排序的特殊模式,它利用客戶端向服務(wù)器的回調(diào)(callback)操作來獲取新頁面的數(shù)據(jù)或最近排序過的數(shù)據(jù)。要激活這個(gè)特性,必須把enablesortingandpagingcallbacks屬性設(shè)置為真。請(qǐng)注意,當(dāng)我們執(zhí)行分頁或排序操作的時(shí)候,頁面不需要發(fā)回(postback)以檢索新值(盡管執(zhí)行了客戶端腳本向服務(wù)器的回調(diào)操作)。當(dāng)gridview或detailsview包含模板字段的時(shí)候是不支持這個(gè)特性的。當(dāng)這個(gè)特性被激活的時(shí)候,不支持在commandfield(命令字段)中顯示"選擇"按鈕。

<asp:gridview allowpaging="true" allowsorting="true" autogeneratecolumns="false" datakeynames="au_id" datasourceid="sqldatasource1" enablesortingandpagingcallbacks="true" id="gridview1" runat="server">
……
</asp:gridview>

  盡管gridview、detailsview和formview為分頁器(pager)ui提供了默認(rèn)的顯示方式,你仍然可以通過設(shè)置pagertemplate屬性來自定義分頁器的顯示。在這個(gè)模板中,你可以放置按鈕控件,并把它的commandname屬性設(shè)置為page,把它的屬性設(shè)置為first、prev、next、last或<number>,其中<number>是特定頁面的索引值。下面的例子演示了gridview和detailsview控件定義的pagertemplate。

<pagertemplate>
<asp:linkbutton commandname="page" commandargument="first" id="linkbutton1" runat="server" style="color: white"><< first</asp:linkbutton>
<asp:linkbutton commandname="page" commandargument="prev" id="linkbutton2" runat="server" style="color: white">< prev</asp:linkbutton>
[records <%= gridview1.pageindex * gridview1.pagesize %> - <%= gridview1.pageindex * gridview1.pagesize + gridview1.pagesize - 1 %>]
<asp:linkbutton commandname="page" commandargument="next" id="linkbutton3" runat="server" style="color: white">next ></asp:linkbutton>
<asp:linkbutton commandname="page" commandargument="last" id="linkbutton4" runat="server" style="color: white">last >></asp:linkbutton>
</pagertemplate>

商業(yè)源碼熱門下載www.html.org.cn

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 斗六市| 伊宁市| 封开县| 临清市| 全州县| 龙胜| 东阳市| 达尔| 祁门县| 苏州市| 乌兰浩特市| 邹城市| 无极县| 响水县| 尤溪县| 邢台县| 德兴市| 绥宁县| 福海县| 隆回县| 开远市| 彰化县| 天水市| 新郑市| 香港 | 潢川县| 合作市| 喀喇沁旗| 开化县| 莱州市| 吉安县| 得荣县| 吴忠市| 凤城市| 冀州市| 霍林郭勒市| 泽州县| 怀宁县| 和平县| 建德市| 微山县|