Browse в 7.0 (инициализация)
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Browse в 7.0 (инициализация)
Доброго времени суток, подскажите пожалуйста как при инициализации броуза первоначально строку - курсор переместить на последнюю запись (вместо первой по умолчанию).
Re: Browse в 7.0 (инициализация)
У меня много параллельных броузов и такой подход не совсем катит, я решил пробл по другомуДед Пахом писал(а):программно нажать Ctrl-End
1) способ
========
Свойства броуза - эмбеды - Открыть окно - вставляем нижеслед код в самый конец
set (INP:by_RegYear_RegNo); выбор ключа
previous(inpdoc); встать на конец (засосать в буфер последнююзапись)
!
brw1.ResetFromFile; ! этот метод вроде не обязательно вызывать (читай про методы в русском хелпе с FTP)
brw1.ResetFromBuffer; ! этот надо обязательно
brw1.ResetFromView; ! с этим еще не разобрался
но в целом все пашет на 5++++
2) способ
========
StartAtCurrent BYTE
Свойство StartAtCurrent указывает объекту способ исходного позиционирования - на первый элемент данных в порядке сортировки или на элемент данных, определенного содержимым буфера VIEW. Нулевое значение (0 или False) позиционирует на первый элемент данных; единичное значение (1 или True) позиционирует на элемент данных, определенный содержимым буфера VIEW.
Реализация:
Метод SetSort устанавливает начальную позицию в соответствии со значением свойства StartAtCurrent. Метод SetSort позиционирует список, на основании на содержимого полей активного порядка сортировки, включая свободные элементы ключа.
Пример:
BRW1.StartAtCurrent = True
ST:StateCode = 'K' !установить значение компонента ключа
BrowseSt.Init(?StList,StateQ.ViewPosition,StView,StateQ,Relate:State,SELF)
=======================
ЗЫ - 2 способ не пашет с составным праймери ключем, с простым(одинарным) пашет
ВОТ ТАКИЕ ПИРОГИ
ЮЗАЙТЕ, Я НЕ ЖАДЕН
))
Re: Browse в 7.0 (инициализация)
Я пользуюсь такой последовательностью для обновления списка и установки курсора в начало...
BRW1.Reset() !View в начало
BRW1.ResetQueue(RESET:Done) !Заполнить очередь
BRW1.UpdateWindow() !Отобразить
Select(?List)
Или для установки на нужную запись.
dog:cod1 = cod1 !Задать ключевое поле
BRW1.TakeAcceptedLocator() !вызов метода TakeAccepted локатора
BRW1.Reset(1) !если требуется поиск, переустановить VIEW
BRW1.ResetQueue(Reset:Done) !перенабрать очередь просмотра
BRW1.UpdateWindow()
BRW1.Reset() !View в начало
BRW1.ResetQueue(RESET:Done) !Заполнить очередь
BRW1.UpdateWindow() !Отобразить
Select(?List)
Или для установки на нужную запись.
dog:cod1 = cod1 !Задать ключевое поле
BRW1.TakeAcceptedLocator() !вызов метода TakeAccepted локатора
BRW1.Reset(1) !если требуется поиск, переустановить VIEW
BRW1.ResetQueue(Reset:Done) !перенабрать очередь просмотра
BRW1.UpdateWindow()
-
- ✯ Ветеран ✯
- Сообщения: 5037
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 23 раза
Re: Browse в 7.0 (инициализация)
Вариант Igor'я - прост и красив. Кстати, не всегда по умолчанию курсор устанавливается на первую строку. У меня много броувсов, где по умолчанию курсор в последней строке. Может есть какая-то система в этом. Никто не знает?
We are hard at work… for you.
Re: Browse в 7.0 (инициализация)
Хм, думал про это, но есть вопрос, откуда посылать это событие, у меня несколько броузов и каждый в своей среде. Выходит надо посылать изнутри броуза самому же этому броузу (ведь в твоем событии нет адресации конкретному процессу(потоку, среде)). Ну например из того же места в броузе (Open Window) куда я свой код вставляю (см мое верхнее сообщение) . Несколько кудряво ведь, не находишь? Вставка вышеупомянутого кода мне как то понятнее. Хотя твой вариант видимо вполне реален и рабоч, надо пробовать. Вообще пишите плиз все, пишите, ценный у нас тут обмен происходит и совершенно бесплатно, ну где еще в наше время можно надыбать инфу. Всем спасибо!Igor писал(а):А попробуй post(EVENT:ScrollBottom,?LIST)