2011-10-13 78 views
0

我有一個DataList和2個按鈕的生命權是數據列表如何從左到右或從右到左更改數據列表圖像的順序?

DataList控件之外:

<asp:DataList ID="dlst" runat="server" RepeatDirection="Horizontal" 
           RepeatColumns="5" CellSpacing="8"> 
     <ItemTemplate> 
        <asp:ImageButton ID="Image" runat="server" ImageUrl='<%#"~/Controls/Showimg.ashx?FileName=" +DataBinder.Eval(Container.DataItem, "FilePath") %>' OnCommand="ImageSelect_Command" CommandArgument='<%# Eval("Id").ToString() +";"+Eval("FilePath")+";"+Eval("Index")+";"+Eval("FileName") %>' /><br /> 
        <asp:Label ID="nlbl" runat="server" Text="Figure"></asp:Label><%# dlst.Items.Count + 1%> 
      </ItemTemplate> 
</asp:DataList> 

按鈕:

<asp:ImageButton ID="btnleft" runat="server" ImageUrl="~/images/arrowLBlue.png" 
           ToolTip="Move Item Left" OnClick="btnleft_Click" /> 
<asp:ImageButton ID="btnright" runat="server" ImageUrl="~/images/arrowRBlue.png" 
           ToolTip="Move Item Right" /> 

我上傳並結合其做工精細的圖像,現在我想從左到右或從右到左移動選定的圖像,假設我有圖像a1,a2,a3,a4,a5,並且在選擇圖像a2後點擊btnmoveright,圖像順序應該是a1 ,a3,a2,a4,a5現在如果是aga在我點擊btnmoveright後選擇圖像a2,然後順序應該是a1,a3,a4,a2,a5這樣我想移動圖像。 如何做到這一點?請有人幫我

回答

1

它看起來像你的datalist的數據源是代表文件路徑的字符串的集合。如果是這樣,只需將選定的項目與左側或右側的項目交換並重新綁定即可。

Public Sub Swap(ByVal obj1 As Object, ByVal obj2 As Object) 
    Dim temp As Object = obj1 
    obj1 = obj2 
    obj2 = temp 
End Sub 

可以存儲在視圖狀態或會話對象的集合回傳後,輕鬆地就重新實例無需重新查詢原始來源。

+0

但如何獲得下一個項目和上一個項目的選定索引? – Rocky