0

我有一个 RadListBox,它有 11 个项目。而且我需要将前 7 个项目设为静态,这意味着它们不应该重新排序。我已经编写了下面的 javascript,它工作得很好。

列表框中的第 8 项仍然是可移动的(向上),这不应该发生。我只需要在第 7 项到第 11 项之后重新排序这些项目,并且只在它们内部重新排序。意味着在 11 个项目中,前 7 个项目的顺序应该是静态的,并且从 8 到 11 这些字段可以重新排序。

谁能建议如何实现这一目标?

HTML:

<telerik:RadListBox ID="RadListBox" runat="server" 
 AllowReorder="true  OnClientSelectedIndexChanging="RadListBox_Reordering"/> 

JS:

function RadListBox_Reordering(sender, eventArgs) {
        var value = eventArgs.get_item().get_value();
        if (value == "Item1" || value == "Item2" || value == "Item3" || value == "Item4" || value == "Item5" || value == "Item6" || value == "Item7") {
            eventArgs.set_cancel(true);
        }
    }
4

1 回答 1

0

您可以使用可取消的 OnClientDropping 事件来检测重新订购商品的着陆位置。

function OnClientDroppingHandler(sender, eventArgs) {
    var index = args.get_destinationItem().get_index();

       if (index < 8) {
           alert('you may not drop on the first 7 items');
           args.set_cancel(true);
       }
 }

https://www.telerik.com/forums/how-to-disable-dragging-dropping-to-first-position

于 2018-09-20T13:39:58.147 回答