|
Позиционирование на строке динамического списка |
☑ |
0
Jokerman
09.09.16
✎
12:16
|
Здравствуйте всем, поискал на форуме, не нашел ответа для себя.
Платформа скажу 8.2.13
Делаю отбор
Если ЭлементОтбора = неопределено Тогда
ЭлементОтбора = СписокТоваров.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
КонецЕсли;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.Наименование");
ЭлементОтбора.ПравоеЗначение = Текст;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
ЭлементОтбора.Использование = Истина;
В следующем событии позиционируюсь на первую строку, убираю отбор
Элементы.СписокТоваров.ТекущаяСтрока = 1;
ЭлементОтбора.Использование = Ложь;
И как бы здесь остаться на той первой строке, а то сбрасывается позиционирование. Это типа замена штатного поиска. Спасибо заранее.
|
|
1
Jokerman
09.09.16
✎
12:19
|
В динамическом списке не указана основная таблица ..
|
|
2
Jokerman
09.09.16
✎
12:34
|
up
|
|
3
Catseye
09.09.16
✎
12:36
|
А переставить строки местами?
|
|
4
Catseye
09.09.16
✎
12:37
|
Типа:
ЭлементОтбора.Использование = Ложь; Элементы.СписокТоваров.ТекущаяСтрока = 1;
|
|
5
Jokerman
09.09.16
✎
12:39
|
(4) Будет тоже самое. Вся беда в том, что в ТекущаяСтрока это относительное значение (с учетом отборов)
|
|
6
Jokerman
09.09.16
✎
13:09
|
Нет мыслей
|
|
7
apokrit
09.09.16
✎
14:03
|
(0) Это от недопонимания.
Позиционирование на самом деле не сбрасывается - текущей строка как было строка с "ключом" 1 так и осталась. Проблема только в том, что при отсутствии основной таблицы "ключ" это просто порядковый номер записи.
Можно конечно (вместо текущего отбора):
- на сервере выполнить запрос списка (со всеми отборами и сортировкой)
- перебором результат определить порядковый номер записи
- установить его в текущую строку
Понятное дело при более менее существенным количестве записей это будет ужас как неэффективно
(можно наверное и без перебора, прямо запросом - но это может не тривиально оказаться)
|
|
8
Jokerman
09.09.16
✎
14:19
|
(7) Спасибо, удивляет что все так сложно, уже переделал на таблицу значений
|
|