好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)

在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)

熱門標簽:臨沂智能電話機器人加盟 百應電話機器人外呼系統 地圖標注軟件免費下載 400電話辦理怎么樣 聯通官網400電話辦理 蘇州如何辦理400電話 西寧呼叫中心外呼系統線路商 網絡電話外呼系統上海 外呼電話機器人成本

第七步: 在自定義分頁的Repeater 里添加排序功能

  現在已經完成了自定義分頁,我們再來添加排序功能。ProductsBLL類的GetProductsPagedAndSorted方法和GetProductsPaged一樣有startRowIndex 和 maximumRows 參數,不一樣的是它還多了一個sortExpression 參數。在SortingWithCustomPaging.aspx里使用GetProductsPagedAndSorted方法我們需要:

  將ObjectDataSource的SelectMethod屬性從GetProductsPaged改為GetProductsPagedAndSorted。
  為ObjectDataSource的SelectParameters參數集合增加一個sortExpression Parameter。
  創建一個私有的屬性用來在postback過程中通過view state存儲SortExpression。
  修改ObjectDataSource的Selecting event handler將ObjectDataSource的sortExpression 參數值賦為SortExpression 屬性(3中創建的)。
  創建排序界面。

  首先修改ObjectDataSource的SelectMethod屬性并添加sortExpression 參數。確定sortExpression 的類型是String。完成這些后ObjectDataSource的聲明標記看起來應該和下面差不多:

asp:ObjectDataSource ID="ProductsDataSource" runat="server"
 OldValuesParameterFormatString="original_{0}" TypeName="ProductsBLL"
 SelectMethod="GetProductsPagedAndSorted"
 OnSelecting="ProductsDataSource_Selecting">
 SelectParameters>
  asp:Parameter Name="sortExpression" Type="String" />
  asp:Parameter Name="startRowIndex" Type="Int32" />
  asp:Parameter Name="maximumRows" Type="Int32" />
 /SelectParameters>
/asp:ObjectDataSource>

然后添加一個SortExpression屬性,它的值為view state。在沒有設任何sort expression的值時候,使用“ProductName”作為默認值。

private string SortExpression
{
 get
 {
  object o = ViewState["SortExpression"];
  if (o == null)
   return "ProductName";
  else
   return o.ToString();
 }
 set
 {
  ViewState["SortExpression"] = value;
 }
}

  在ObjectDataSource調用GetProductsPagedAndSorted方法前,我們需要將sortExpression 參數設為SortExpression屬性的值。在Selecting event handler里添加以下代碼:

e.InputParameters["sortExpression"] = SortExpression;

  現在只需要完成排序界面就可以了。和我們上一個例子一樣,我們使用3個button來實現排序功能,允許用戶根據product name, category, supplier來排序。

asp:Button runat="server" id="SortByProductName"
 Text="Sort by Product Name" />
asp:Button runat="server" id="SortByCategoryName"
 Text="Sort by Category" />
asp:Button runat="server" id="SortBySupplierName"
 Text="Sort by Supplier" />

  為這三個button都創建Click event handler。在其中將StartRowIndex設為0,SortExpression設為相應的值,并將數據重新綁定到Repeater。

protected void SortByProductName_Click(object sender, EventArgs e)
{
 StartRowIndex = 0;
 SortExpression = "ProductName";
 Products.DataBind();
}
protected void SortByCategoryName_Click(object sender, EventArgs e)
{
 StartRowIndex = 0;
 SortExpression = "CategoryName";
 Products.DataBind();
}
protected void SortBySupplierName_Click(object sender, EventArgs e)
{
 StartRowIndex = 0;
 SortExpression = "CompanyName";
 Products.DataBind();
}

  現在所有工作都完成了!實現自定義分頁和排序的一些步驟和默認分頁差不多。圖18顯示的當按照category排序時的最后一頁數據。


圖 18: 按Category排序的最后一頁數據

注意:在前面的例子里,當按照supplier排序時排序表達式為” SupplierName”。然而執行自定義分頁時我們需要使用” CompanyName”。這是因為自定義分頁的存儲過程–GetProductsPagedAndSorted–將sort expression傳給ROW_NUMBER(),ROW_NUMBER()需要一個實際的列名,而不是別名。因此我們必須使用CompanyName(Suppliers表的一個列名),而不是使用SupplierName (SELECT語句里的別名)作為expression。

總結

  無論是DataList還是Repeater都沒有提供內置的排序支持,但是通過自定義界面和一點點代碼,我們可以實現這樣的功能。當僅僅只實現排序時(不包含分頁),sort expression可以通過DataSourceSelectArguments對象傳給ObjectDataSource的Select方法。DataSourceSelectArguments對象的SortExpression屬性可以在ObjectDataSource的electing event handler里賦值。

  為已經有排序功能的DataList或Repeater添加排序功能,最簡單的方法是在BLL里添加一個接收sort expression的方法。然后這個信息可以通過ObjectDataSource的SelectParameters參數傳進去。

  祝編程快樂!

作者簡介

  本系列教程作者 Scott Mitchell,著有六本ASP/ASP.NET方面的書,是4GuysFromRolla.com的創始人,自1998年以來一直應用 微軟Web技術。大家可以點擊查看全部教程《[翻譯]Scott Mitchell 的ASP.NET 2.0數據教程》,希望對大家的學習ASP.NET有所幫助。

您可能感興趣的文章:
  • 讓Win2008+IIS7+ASP.NET支持10萬并發請求
  • c#實現服務器性能監控并發送郵件保存日志
  • C#線程執行超時處理與并發線程數控制實例
  • c#編寫的高并發數據庫控制訪問代碼
  • C#使用隊列(Queue)解決簡單的并發問題
  • 在ASP.NET 2.0中操作數據之二十一:實現開放式并發
  • 在ASP.NET 2.0中操作數據之四十五:DataList和Repeater里的自定義Button
  • 在ASP.NET 2.0中操作數據之四十六:使用SqlDataSource控件檢索數據
  • 在ASP.NET 2.0中操作數據之四十七:用SqlDataSource控件插入、更新、刪除數據
  • 在ASP.NET 2.0中操作數據之四十八:對SqlDataSource控件使用開放式并發

標簽:聊城 中衛 海西 臨夏 慶陽 平涼 甘肅 清遠

巨人網絡通訊聲明:本文標題《在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)》,本文關鍵詞  在,ASP.NET,2.0,中,操作,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)》相關的同類信息!
  • 本頁收集關于在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 夜夜躁爽日日躁狠狠躁视频| 欧美猛男军警长片gay| 边舌吻吃奶边摸边做的视频| 色欲AV午夜在线下载一区二区 | 欧美黑人╳╳ⅹ╳高潮猛交看| 日本3dh肉动漫在线观看| 亚洲国产一区二区三区综合片| 国语自产拍精品无码老王视频| 中文彩漫多香子u罗汉漫画最新版| 3d动漫精品H区XXXXX区| 老外黄色一级片| 亚洲国产成人久久综合野外| 动漫rh男男车车好快的车车视频| 国产大学生自拍| 澳门国产精品成人A片在线播放| 国产国拍亚洲精品午夜2020| 调教小倌铃口入珠h| 欧亚专线欧洲s码wmy不知所| 成人无码Gay做爰XXOO| 韩国羞羞无遮掩漫画免费观看 | 亚洲日比视频| 男人的17种幻想| **毛片免费拍拍拍aa视频| 红桃视频国产AV一区在线| 暴力征服麻麻小说| 国产的鲁啊鲁| 91唐嫣精品国产一区二区三区| 午夜精品理论电影| 午夜寂寞电影院| 久久发布国产伦子伦精品| 黑黑的肥岳张局| 免费播放特黄特色毛片| 皇上紫黑粗硕好大烫死奴婢好爽| 黄在线免费| a级毛片免费网站| 曰本女人与公狍交酡视频链接| 精品欧美激情在线看| 老**毛茸茸bbw视频| 69国产精品热88人妻| 国产精品被???女子会所| 精品欧美一区二区3d动漫|