Поиск строки в Дереве #656486


#0 by renowka
На управляемой форме расположено заполненное дерево. Есть поле ввода строки и кнопка "поиска". Как сделать поиск строки введенной в поле вовода по нажатию на кнопку "поиск"? По аналогии с тем что расположен в главной панели в обычном приложении.
#1 by sapphire
Свойство ОтборСтрок
#2 by sapphire
Ну или находить строку и делать её текущей.
#3 by renowka
Могу найти строки и получить их индексы. Не получается по нажатию на "поиск", выделить следующую строку
#4 by pessok
что конкретно не получается?
#5 by pessok
+ и почему именно индекс, а не сама строка?
#6 by renowka
Индекс - потому что 8.2
#7 by renowka
Не получается нажать "поиск", спозиционироваться на строке и остановиться. Нажать опять поиск - спозиционироваться на следующей строке
#8 by pessok
а СтрокаДереваЗначений, потому что гладиолус, не выходит?
#9 by pessok
Найти (Find) Синтаксис: Найти(<Значение>, <Колонки>, <ВключатьПодчиненные>) Параметры: Тип: Произвольный. Тип: Строка. Список имен колонок, в которых будет осуществляться поиск, разделенных запятыми. Если параметр не указан, поиск осуществляется по всем колонкам дерева. Значение по умолчанию: Пустая строка <ВключатьПодчиненные> (необязательный) Тип: Булево. Определяет, будут ли участвовать в поиске строки подчиненных коллекций (если таковые имеются). Истина - строки подчиненных коллекций участвуют в поиске. Значение по умолчанию: Ложь Возвращаемое значение: Тип: СтрокаДереваЗначений, Неопределено. Строка, которая содержит искомое значение. Если значение не найдено, то возвращается значение Неопределено. Описание: Осуществляет поиск значения в дереве в указанных колонках коллекции строк дерева значений. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Метод эффективно использовать для поиска уникальных значений. Пример: НайденнаяСтрока = СтрокиСостава.Найти(ТекЗатрата, "Затрата"); Если НайденнаяСтрока = Неопределено Тогда
#10 by renowka
Мне нужно искать любую введенную подстроку, этот метод даст результат только на полное совпадение строки
#11 by renowka
Индексы получаю Коллекции элементов моего дерева и методом Найти(СтрокаДерева[ИмяПоля], СтрокаПоиска)
#12 by pessok
дык СтрокаДерева это и есть то, что тебе нужно
#13 by pessok
насколько я понимаю, ты рекурсивно оббегаешь дерево циклом. вот когда нашел, по СтрокаДерева и позиционируйся, а не по индексу его
#14 by renowka
ок, в дереве две, три, ... одинаковые, как на следующей найденной строке спозиционироваться?
#15 by pessok
хранить в переменной модуля позицию счетчика, начинать следуюзий обход уже с нее
#16 by sapphire
Запоминать, что ты на ней уже останавливалась
#17 by pessok
вообще, конечно, спасибо 1С за такой онанизм со списками на УФ
#18 by renowka
Вот с этим и проблема. подскажите как это делается? Есть ТаблицаИндексов и ДеревоДокументов. По кнопке нужно брать следующий индекс и искать строку в этом дереве, останавливаясь перед каждым новым индексом
#19 by renowka
идеи?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С