|
Перемещение строки таблицы | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
Pentosh
26.03.15
✎
16:54
|
Добрый вечер, поставили задачу, легкая, знаю, но мысля не идет.
Нужно в табличном поле (строки таблицы - набор записей из регистра сведений), сделать возможность менять положение строки в табличке. Сейчас это сделано так, мну на кнопку "Стрелка вверх" строка поднимается выше и записывается измерение в РС. Т.к. это занимает много времени (перенести и записать), попросили сделать так: Нажал на кнопку, вылетело окно "куда переместить" указываешь номер строки, и строка сразу на 3 позиции вверх, а потом запись. Но беда в том, не могу догнать, как сделать. По одной строке получается поднимать, а чтобы сразу на 2...ну вообще, ребятушки, помогите, рОдные. Код, как поднимаю на одну строку: ТекущийНомер = ЭлементыФормы.Формулы.ТекущаяСтрока.НомерДетали; Формулы[ТекущийНомер-1].НомерДетали = ТекущийНомер -1; Формулы[ТекущийНомер-2].НомерДетали = ТекущийНомер; Формулы.Записать(); Суть в том, что достаточно поменять значение в колонке "Номер детали". Может сообразите чего. |
|||||||
1
Dmitriy_76
26.03.15
✎
17:00
|
вставляй требуемую куда надо.. а все последующие в цикле : номер = номер пред +1 ....
|
|||||||
2
Pentosh
26.03.15
✎
17:01
|
Т.е. нужно сделать, чтобы до тех пор, пока мы не доведем строку до желаемного положения, выполнялось смещение... но ей богу, соображалка отключена напрочь.
|
|||||||
3
D_E_S_131
26.03.15
✎
22:22
|
А каков порядок заполнения первоначального? Это же РС, какой там порядок?
|
|||||||
4
RomanYS
26.03.15
✎
22:27
|
(0) зачем записывать сразу?
перетаскивание не поможет? |
|||||||
5
patria0muerte
27.03.15
✎
02:23
|
(0) А если взять и выгрузить набор записей в ТЗ на форму. В ней попередвигать все что нужно встроеным механизмом (стрелками в командной панели), а потом просто записать результат.
|
|||||||
6
patria0muerte
27.03.15
✎
02:27
|
+(5) *записать результат обратно в набор записей.
И лишний раз перезаписывать набор записей не придется. |
|||||||
7
patria0muerte
27.03.15
✎
02:30
|
А колонку "НомерДетали" можешь каждый раз загружать по новой. Хранить массив с номерами строк размером с количество строк в таблице и при каждом дергании строки загружать массив в колонку "НомерДетали"
|
|||||||
8
Pentosh
27.03.15
✎
16:03
|
Работает так.
Жму кнопку "вверх" он в таб. поле менят значение "номер детали" у записи которую перемещаю (-1) и записи на место которой ставлю(+1) и записывает набор записей в регистр.Потом, срабатывает процедура "активизация строки" в ней происходит чтение регистра и вывод в таб. поле. (3)Сам регистр строется по "номер детали" (если номер детали 1 -то строка 1 в списке, если 4 - то четвертая). По сути, надо только менять "номер детали". |
|||||||
9
ktvladimir
27.03.15
✎
16:06
|
(5) тока начал так писать да вижу уже написали) номер детали я бы вообще в работе не мучал а уже перед записью циклом бы записывал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |