![]() |
#1 |
Участник
|
Игнорировать StartPosition на DS
Очень хочется сабж... То есть в run я нахожу нужную мне запись и позиционирую курсор на нее при помощи findValue. Однако затем Аксапта переходит на 1ю или последнюю запись, в соотвествии вышеуказанным свойством, и все..
Хотелось бы, чтоб была возможность сделать текущей именно ту запись, которая мне нужна при запуске формы. Подскажите плиз |
|
![]() |
#2 |
Модератор
|
После супера позиционируй _ds.findRecord()
|
|
![]() |
#3 |
Участник
|
сейчас попробуем... Кстати, а что, findValue чем-то кардинально отличается от findRecord?
И еще: какую запись передавать в FindRecord? в ней должны быть заполнены все поля? а если я не знаю значения некоторых, да они и не важны... |
|
![]() |
#4 |
Модератор
|
Цитата:
Изначально опубликовано Dymm
сейчас попробуем... Кстати, а что, findValue чем-то кардинально отличается от findRecord? И еще: какую запись передавать в FindRecord? в ней должны быть заполнены все поля? а если я не знаю значения некоторых, да они и не важны... К тому же, Вы ведь знаете, на какую запись хотите позиционировать? Если нет, но найдите нужное значение и передайте в findRecord курсор. Хотя о производительность fR шел разговор. Корифеи сошлись на том, что тормозной метод. Ну да при открытии формы должно прокатить. |
|
![]() |
#5 |
Участник
|
Все, с findRecord разобрался, однако опять таки не увидел отличий в эффекте от findValue...
Попытаюсь поподробнее объяснить суть проблемы: Я передаю в форму через args параметры необходимой мне записи, извлекаю, позиционирую курсор на нужную запись про помощи findValue/Record (все это делается в Run формы после super). Записи отображаются в грид.. В связи с некоторой тормознутостью аксапты я даже вижу как позиционирование происходит, однако за этим сразу же курсор перемещается на начало/конец таблицы, в соответствии со свойством startPosition... Перехваты first/last не помогают... |
|
![]() |
#6 |
Модератор
|
Подчиненный датасорс есть?
|
|
![]() |
#7 |
Участник
|
да, по Delayed.
|
|
![]() |
#8 |
Модератор
|
Ну! Вероятно, в этом и фишка.
Поищите, что-то недавно было на эту тему. Может, подчиненный дс позиционировать. Не помню точно решения, и нет времени на поиск. Если найдете, расскажите, как победили. |
|
![]() |
#9 |
Участник
|
Очевидно имелась ввиду эта тема. Прочитал, однако все не то..проблема в том, что позиционирование соответствующее свойству StartPosition выполняется в любом случае позже, чем мое в методе run..
|
|
![]() |
#10 |
Участник
|
Может у вас переопределено в ExecuteQuery?
Попробовал на примере PurchTable. В методе Run формы FindRecord() отработал нормально, спозиционировался на нужной записи |
|
![]() |
#11 |
Модератор
|
А! было такое. Только у меня LinkActive отрабатывал!
![]() |
|
![]() |
#12 |
Участник
|
в общем, надоело заморачиваться и решил открывать форму на другой закладке, а позиционирование делать по tabChanged
![]() ![]() |
|
![]() |
#13 |
Модератор
|
Не, ну, надо было добить!
![]() Попробуйте перекрыть LA - что он говорит? Или сделать clearDynalincs |
|
![]() |
#14 |
Участник
|
Да уже поздно, наш паровоз вперед летит... Но когда пытался решить проблему и LA дебажил и вообще подчиненный ДС отрубал - не помогало...
|
|
![]() |
#15 |
Участник
|
После super() в методе run() запись уже отпозиционирована и в дальнейшем по идее не перепозиционируется. Может у вас датасет дальше заново переоткрывался?
|
|
![]() |
#16 |
Модератор
|
Цитата:
Изначально опубликовано AndyD
После super() в методе run() запись уже отпозиционирована и в дальнейшем по идее не перепозиционируется. Может у вас датасет дальше заново переоткрывался? ![]() Помогало стирание диналинков. С Уважением, Георгий |
|
|
![]() |
||||
Тема | Ответов | |||
Веделенные записи из связанного DS | 3 | |||
Связь одинаковых DS | 18 | |||
сортировка в подчиненном ds | 5 | |||
Привязка фильтров от одного DS к другому | 10 | |||
Вызов метода modified DS | 1 |
|