|
Перемещение строк в списке значений |
☑ |
0
Stasya02
28.08.19
✎
12:01
|
Всем привет. Я только начала познавать азы в программировании и прошу небольшой помощи.
Задача: нужно в форму добавить две кнопки, которые будут перемещать выделенную строку в списке значений вверх или вниз. Вот что я делаю:
&НаКлиенте
Процедура Вверх(Команда)
ВыбрЭлемент = Элементы.СписокЗначений.ТекущаяСтрока;
Если ВыбрЭлемент <> Неопределено Тогда
Если ВыбрЭлемент > 0 Тогда
СписокЗначений.Сдвинуть(ВыбрЭлемент, -1);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Но в результате, при повторном нажатии на кнопку, элемент не снова перемещается вверх, а обратно. Пожалуйста, подскажите, что делаю не так и как решить?
|
|
1
Злопчинский
28.08.19
✎
12:08
|
ну ыозможно что второй раз текущей является другая строка и она двигается верх и получается что "первая строка" вниз снова.
сделай первый сдвиг, явным образом на форме обозначь текущую строку и снова сделай сдвиг следя за тем к какой строке применяешь сдвиг.
я не спец, так что может это все бред
|
|
2
Вафель
28.08.19
✎
12:12
|
текущая строка сбивается скорее всего
|
|
3
aleks_default
28.08.19
✎
12:13
|
А что мешает использовать стандартные команды?
|
|
4
Stasya02
28.08.19
✎
12:17
|
(1), (2) Нет, строка на том же элементе, даже повторно ее выбираю - элемент двигается назад.
Обратила внимание, что индекс элемента остается прежним (в отладке), хотя в той же отладке в списке значений, он уже изменился.
|
|
5
Stasya02
28.08.19
✎
12:18
|
(3), задание.
|
|
6
aleks_default
28.08.19
✎
12:22
|
Текущая строка определяется по индексу, соответсвенно когда меняешь индекс у данной строки, текущей становится та у которой такая же цифра индекса
|
|
7
Stasya02
28.08.19
✎
12:29
|
(6), подскажите, пожалуйста, как можно решить задачу?
|
|