国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 武宁县| 平舆县| 龙门县| 友谊县| 延津县| 雷州市| 襄城县| 图木舒克市| 柳河县| 西丰县| 来宾市| 平果县| 合作市| 怀安县| 玛曲县| 永济市| 文登市| 海原县| 即墨市| 顺义区| 沂水县| 汝阳县| 石棉县| 平利县| 维西| 石柱| 磐石市| 墨江| 东安县| 巫山县| 巨野县| 巩留县| 宁明县| 阿拉尔市| 永胜县| 大关县| 邮箱| 富源县| 尚义县| 伊宁市| 龙山县|