|
Как установить текущую строку в таблице на форме?
| ☑ |
0
rotting
08.06.16
✎
19:42
|
Пишу так:
ТекСтрока = Элементы.СписокЗаказов.ТекущаяСтрока;
ВыгрузитьЭННаСервере(Элементы.СписокЗаказов.ТекущиеДанные.Заказ);
ЗагрузитьСписокЗаказов();
Элементы.СписокЗаказов.ТекущаяСтрока = ТекСтрока;
Но Элементы.СписокЗаказов.ТекущаяСтрока как была Неопределено так и осталась, что я не так делаю?
|
|
1
hhhh
08.06.16
✎
19:52
|
(0) проверьте ЗагрузитьСписокЗаказов(), похоже она зараза портит вам список.
|
|
2
rotting
08.06.16
✎
19:58
|
(1) Что ж она может портить, если она и при открытии формы вызывается?
ТекСтрока - число, вроде ничего сложного....
|
|
3
Fram
08.06.16
✎
20:05
|
(2) Попробуй перед позиционированием обновить отображение формы или что нибудь в этом роде
|
|
4
Pistol
08.06.16
✎
20:07
|
(2) И что же это число означает? Правильный ответ позволит тебе решить твою проблему.
|
|
5
vicof
08.06.16
✎
20:09
|
(4) +1
|
|
6
rotting
08.06.16
✎
20:12
|
(3) Пробовал так
ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;
Элемент активируется, но на нужной строке не позиционируется
(4) идентификатор строки, как дальше мыслить?
|
|
7
oslokot
08.06.16
✎
20:13
|
(6) получить идентификатор
|
|
8
Pistol
08.06.16
✎
20:15
|
(7) не все так просто...
Выбрать в данных естественный ключ, описывающий текущую строку, после обновления найти по нему новую строку и установить ее идентификатор
|
|
9
rotting
08.06.16
✎
20:20
|
(8) понял, решил вопрос вот так:
Заказ = Элементы.СписокЗаказов.ТекущиеДанные.Заказ;
ВыгрузитьЭННаСервере(Элементы.СписокЗаказов.ТекущиеДанные.Заказ);
ЗагрузитьСписокЗаказов();
ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;
МассивСтрок = СписокЗаказов.НайтиСтроки(Новый Структура("Заказ", Заказ));
Если МассивСтрок.Количество() > 0 Тогда
Элементы.СписокЗаказов.ТекущаяСтрока = МассивСтрок[0].ПолучитьИдентификатор();
КонецЕсли;
|
|
10
Pistol
08.06.16
✎
20:24
|
(9) ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;
В принципе лишнее - оно просто переводит фокус на список. На текущую строку влияет никак.
|
|