【问题标题】:How to change the order of datalist images from left to right or right to left?如何从左到右或从右到左更改数据列表图像的顺序?
【发布时间】:2012-02-17 15:23:58
【问题描述】:

我有一个 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 现在如果我在选择图像 a2 后再次单击 btnmoveright 那么顺序应该是 a1,a3,a4,a2,a5 像这样我想移动图像。 怎么做?请有人帮助我

【问题讨论】:

    标签: c# asp.net datalist


    【解决方案1】:

    看起来你的数据列表的数据源是代表文件路径的字符串集合。如果是这样,只需将所选项目与左侧或右侧的项目交换并重新绑定。

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

    您可以将集合存储在视图状态或会话对象中,以便在回发后轻松重新实例化它,而无需重新查询原始源。

    【讨论】:

    • 但是如何获取下一项和上一项的选定索引?
    猜你喜欢
    • 2022-01-13
    • 2015-06-15
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多