2011-05-21 26 views
0

我有中繼器控制,其中我已實施尋呼。現在它顯示10個數據一次。 現在我想管理排序,在客戶端使用jaquery意味着它不會再次打到數據庫進行排序。如何在客戶端管理中繼器?

示例:假設中繼器顯示10個項目(行)。每個項目包含價格,項目計數和日期。現在我想在這個轉發器中排序功能。所以它只會在當前顯示的10個項目中進行排序。 (Price,ItemCount,Date)

我在GridView中有一些示例,但它不工作重複請讓我知道我該怎麼做。我搜查了很多東西,但對我來說一切都沒用。

+0

可以u顯示我們的代碼如何實現中繼? – 2011-05-21 15:22:08

回答

0

您的解決方案,你可以訪問這個link

的tablesorter是一個jQuery插件 轉向與 THEAD和TBODY標籤標準的HTML表格到一個排序 表而不刷新頁面。 tablesorter可以成功解析,並且 可以對包含 鏈接數據的多種數據進行排序。它有許多有用的 功能,包括:用於 排序文本

多列排序解析器,URI的,整數, 貨幣浮動,IP地址,日期 (ISO,長,短格式),時間。 IE 6.0+, FF 2+和Safari 2.0+,歌劇9.0: 通過 窗系統跨瀏覽器添加您自己(排序上 其它標準時如維持 字母排序)輕鬆支持二次 「隱藏」排序擴展+小 代碼大小

+0

-1這不是一個答案。那是廣告。你也假設他正在使用'

' – Raynos2011-05-21 15:25:29

+0

@Raynos:我在這裏發現的是什麼ru在這裏演示tablesorter – 2011-05-21 15:44:21

+0

+1爲好例子 – 2011-05-21 15:57:50

0

僞代碼:

var sortCriteria = ".Price" 

var repeaterRows = $(".repeaterRows").detach(); 
var sortingArray = repeaterRows.map(function(key, val) { 
    return { 
     "jquery": $(this), 
     "sort": $(this).find(sortCriteria).text(); 
    }; 
}).get(); 

sortingArray.sort(function(left, right) { 
    return left.sort < right.sort; 
}); 

$.each(sortingArray, function(key, val) { 
    val.jquery.appendTo("#repeater"); 
}); 

首先,從容器中取出的中繼器的元素。

然後,將您的轉發器元素映射到包含repeater元素的包裝器,並將其排序。

然後,您可以使用Array.prototype.sort按標準對它們進行排序。

然後遍歷排序的列表並將它們按照排序順序附加到您的中繼器。

0

呦可以使用Jquery tablesorter plugin

jQuery的

$(document).ready(function() { 
     $(".tablesorter") 
     .tablesorter({widthFixed: true, widgets: ['zebra']}) 
     .tablesorterPager({container: $("#pager")}); 
    }); 

ASPX標記

<table cellspacing="1" class="tablesorter"> 

    <thead> 
     <tr> 
      <th>Column1</th> 
      <th>Column2</th> 
      <th>Column3</th> 
     </tr> 
    </thead> 

     <tfoot> 
     <tr> 
      <th>Column1</th> 
      <th>Column2</th> 
         <th>Column3</th> 
     </tr> 

    </tfoot> 
     <tbody> 
       <asp:Repeater runat="server" ID="rpt_data"> 
        <ItemTemplate> 
      <tr> 

      <td><%#Eval("ColumnName1")%></td> 

      <td><%#Eval("ColumnName2")%></td> 

      <td><%#Eval("ColumnName3")%></td> 

      </tr> 
       </ItemTemplate> 
       </asp:Repeater> 
     </tbody> 
</table> 

<div id="pager" class="pager"> 
+0

使用''和''來包裝頁眉和頁腳html'

'。 「widgets:['zebra']'是什麼意思? '#pager'標記在哪裏? -1努力,而不是複製並粘貼鏈接中的jQuery代碼。 – Raynos2011-05-21 15:32:35

+0

@Raynos:小工具:['斑馬']: - 風格將看起來像斑馬風格。和soerry頁面這是我的錯誤,我成功實施了一次與中繼器不只是複製粘貼... – 2011-05-21 15:37:13

+0

@Rayans我提供的鏈接也在這裏你可以找到更多的細節。 – 2011-05-21 15:37:58