Ограничить переупорядочение элементов в RadListBox в c # - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть RadListBox, в котором есть 11 предметов.И мне нужно, чтобы первые 7 элементов были статичными, что означает, что их не нужно переупорядочивать.Я написал нижеприведенный javascript, и он прекрасно работает.

Восьмой элемент списка все еще подвижен (вверх), и этого не должно происходить.Мне нужно изменить порядок элементов только после 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);
        }
    }

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете использовать событие 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

...