2012-04-19 39 views
0

這裏是我的代碼在直放站排序

<asp:Repeater ID="rpRatesheetDetails" runat="server" 
         onitemcommand="rpRatesheetDetails_ItemCommand" 
         onitemdatabound="rpRatesheetDetails_ItemDataBound"> 
         <HeaderTemplate> 
          <tr> 
           <td width="110" height="25px" class="content"> 
            <table cellpadding="0" cellspacing="1"> 
             <tr> 
              <td style="cursor:pointer;" runat="server" onclick="toggle();"> 
               Carrier 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnCarrierSortAsc" runat="server" ImageUrl="~/Images/Arrow_T.png" ToolTip="Sort Ascending Order" style="display:none;" 
                CommandName="SortCarrierASC" /> 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnCarrierSortDsc" runat="server" ImageUrl="~/Images/Arrow_B.png" ToolTip="Sort Descending Order" style="display:none;" 
                CommandName="SortCarrierDESC" /> 
              </td> 
             </tr> 
            </table> 
           </td> 
           <td width="110" class="content"> 
            <table cellpadding="0" cellspacing="1"> 
             <tr> 
              <td> 
               Date 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnDateSortAsc" runat="server" ImageUrl="~/Images/Arrow_T.png" ToolTip="Sort Ascending Order" style="display:none;" 
                CommandName="SortDateASC" /> 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnDateSortDesc" runat="server" ImageUrl="~/Images/Arrow_B.png" ToolTip="Sort Descending Order" style="display:none;" 
                CommandName="SortDateDESC" /> 
              </td> 
             </tr> 
            </table> 
           </td> 
           <td width="82" class="content"> 
            Call Type 
           </td> 
           <td width="110" class="content"> 
            Format 
           </td> 
           <td width="100" class="content"> 
            <table cellpadding="0" cellspacing="1"> 
             <tr> 
              <td> 
               Status 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnStatusAsc" runat="server" ImageUrl="~/Images/Arrow_T.png" ToolTip="Sort Ascending Order" style="display:none;" 
                CommandName="SortStatusASC" /> 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnStatusDsc" runat="server" ImageUrl="~/Images/Arrow_B.png" ToolTip="Sort Descending Order" style="display:none;" 
                CommandName="SortStatusDESC" /> 
              </td> 
             </tr> 
            </table> 
           </td> 
           <td width="70" class="content"> 
            User 
           </td> 
           <td width="82" class="content"> 
            File Name 
           </td> 
           <td width="110" class="content"> 
            System 
           </td> 
           <td width="110" class="content"> 
            <table cellpadding="0" cellspacing="1"> 
             <tr> 
              <td> 
               No. Of Days 
              </td> 
              <td align="right"> 
               <asp:ImageButton ID="btnDaysAsc" runat="server" ImageUrl="~/Images/Arrow_T.png" ToolTip="Sort Ascending Order" 
                CommandName="SortNoOfDaysASC" /> 
               <asp:ImageButton ID="btnDaysDsc" runat="server" ImageUrl="~/Images/Arrow_B.png" ToolTip="Sort Descending Order" 
                CommandName="SortNoOfDaysDESC" /> 
              </td> 
             </tr> 
            </table> 
           </td> 
          </tr> 
         </HeaderTemplate> 

以上就是當我的中繼器加載它是由最後column.Now排序我repeater.By默認的頭部模板,我想DAT如果用戶想排序通過任何其他列,他應該點擊dat列。只有den的排序圖標將被顯示,並且記錄將被排序。我在ItemDataBound事件上顯示此圖標,但是如何在單擊標題時觸發一個ItemDataBound事件?

+1

你想做什麼? – 2012-04-19 12:29:21

+1

當任何一個點擊任何列的標題我想消防中繼器的ItemDataBound事件 – Jay 2012-04-19 12:30:13

回答

3

中繼器中的項目順序取決於綁定集合中的順序(DataSource)。

在綁定之前對DataSource中的項目進行排序,以便在中繼器中獲得排序列表。

在您的rpRatesheetDetails_ItemCommand中執行此操作 - 檢查命令名稱,相應地對集合進行排序,然後進行綁定。

+0

雅我能夠做dat,但我想切換升序和降序圖標,但它不可能在ItemCommand事件 – Jay 2012-04-19 12:33:14

+0

你應該保存排序方向在頁面上的屬性。然後在itemDataBound中通過檢查該屬性來設置方向。 – 2012-04-19 12:34:45

+0

@Jay - 有一個字段告訴你你正在使用什麼命令和方向。將它填充到ItemCommand事件處理程序中,並在標題模板的ItemDataBound事件處理程序中查詢它。 – Oded 2012-04-19 12:35:06