|
AfterRowColChange
|
|||
---|---|---|---|
#18+
На форме два грида с родительской и дочерней таблицами и всякие текстбоксы со значениями из строк этих таблиц. На гриде с родительской таблицей стоит рефреш в afterRowColChange и значения в текстбоксах замечательно меняются при переходе со строки на строку. А в гриде с дочерней таблицей ничего не получается - ставлю рефреш и указатель вапще не сдвинуть с первой записи (( Что это такое? Первый раз столкнулась ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 17:13 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2Nnnnn Приветствую ! Проверять(рисовать форму) ща нет времени , но - 1. Во втором(дочернем) гриде будут отображаться записи только удолетворяющие условию связки (Relation) . Т.е. если вы ждёте там отображение всех записей подчинённой таблицы и установку курсора на первую связаную запись , то это не правильно . 2. Насколько я помню, для правильного поведения связанных таблиц в гридах нужны индексы по связанным полям . Т.е. без этих индексов отображение(может и сама связка не помню точно) работает криво (натыкался както:) . 3.(совсем не важно) рефреш в afterRowColChange именно для гридов здесь лишний , как мне думается ......... Удачи разобраться ! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 17:57 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2Melnik_A, 1 Я в курсе что там отображаются только записи, удовлетворяющие условию связи. Мне это и надо. 2 Индексы в таблицах есть по этим полям, с этим все в порядке. 3 Я не знаю как при передвижении по гриду обновлять записи в тексбоксах кроме как рефрешем формы (ну можно написать рефреш на все текстбоксы, но их там слишком много). В текстбоксах controlSource - поля дочерней таблицы (ну или родительской, но эти работают нормально) :( Вобщем вопрос открыт.. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 18:15 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
[quot Nnnnn А в гриде с дочерней таблицей ничего не получается - ставлю рефреш и указатель вапще не сдвинуть с первой записи [/quot] Не совсем ясно что происходит. По AfterRowColChange 1го грида, обновляется 2й грид? Во 2м гриде, отображены записи, и вы не можете по ним двигаться? Или он вообще недоступен? Непонятно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 18:45 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2asdor, В первом гриде в AfterRowColChange стоит просто ThisForm.Refresh. Во втором, при написании этой же строки указатель перестает двигаться по записям и с первой записи не сдвигается совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 18:56 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
Nnnnn2asdor, В первом гриде в AfterRowColChange стоит просто ThisForm.Refresh. Во втором, при написании этой же строки указатель перестает двигаться по записям и с первой записи не сдвигается совсем. Приложен примитивный тест (VFP 9.0). Запускайте DO J1J2.PRG и сравнивайте, что у вас иначе, чем в нем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 19:56 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2reware, Спасибо за пример, я не первый год с фоксом работаю, делала уже такие формы, просто здесь что-то мешает этому рефрешу по-человечески работать. Думала может кто-то сталкивался или как-то по-другому такие гриды с текстбоксами организовать можно ( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 21:21 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
Nnnnn2reware, Спасибо за пример, я не первый год с фоксом работаю, делала уже такие формы, просто здесь что-то мешает этому рефрешу по-человечески работать. Думала может кто-то сталкивался или как-то по-другому такие гриды с текстбоксами организовать можно ( Тогда уж методом исключения, по одному что-то выкидывать из кода :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 21:28 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2reware, Хех, я бы выкинула Дурдом ромашка на выезде, не поленилась, прописала кучу рефрешей текстбоксов в AfterRowColChange второго грида - работает, зараза (( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 21:34 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
Nnnnn2reware, Хех, я бы выкинула Дурдом ромашка на выезде, не поленилась, прописала кучу рефрешей текстбоксов в AfterRowColChange второго грида - работает, зараза (( Чего-то где-то попадалось про проблемы рефреша контролов формы при рефреше самой формы. Что и где, убей не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 21:59 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
rewareЧего-то где-то попадалось про проблемы рефреша контролов формы при рефреше самой формы. Что и где, убей не помню. Про Refresh() можно сказать только то, что он рекурсивный. Т.е. вызов ThisFrom.Refresh() автоматически вызовет Refresh() всех объектов на форме (хотя есть исключения). В общем случае, Refresh() контейнера вызывает Refresh() всех вложенных в него объектов. Кроме того, Refresh() для Grid практически бесполезен. Обновление "картинки" Grid происходит при переводе фокуса в Grid. Т.е. по Grid.SetFocus(). Метод Grid.Refresh() не в состоянии заставить обновится отображение положения указателя записи в Grid. А поскольку если не все, то очень многое в "картинке" Grid завязано на положение указателя записи, то "обновить картинку" Grid в полном объеме можно только переведя в него фокус. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2009, 11:01 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
авторНа форме два грида с родительской и дочерней таблицами и всякие текстбоксы со значениями из строк этих таблиц. На гриде с родительской таблицей стоит рефреш в afterRowColChange и значения в текстбоксах замечательно меняются при переходе со строки на строку. А в гриде с дочерней таблицей ничего не получается - ставлю рефреш и указатель вапще не сдвинуть с первой записи (( Что это такое? Первый раз столкнулась Такое ощущение, что в AfterRowColCgange дочернего грида Go Top стоит ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2009, 11:25 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
2ArDo, Если бы гоу топ был я бы его заметила )) В рефреше самой формы тоже пусто, мне же нужно просто чтобы очень многие объекты на форме обновлялись при передвижении по гриду. В принципе, не суть важно, хоть и через одно место, но заработало )) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2009, 21:56 |
|
AfterRowColChange
|
|||
---|---|---|---|
#18+
Сделай Select-ом и не мучайся: (на AfterRowColChange 1 Grid-a) thisform.grid2.Recordsource = '' select n_id, fild1, fild2; where n_id = родительская.n_id ; from дочерняя ; into curs a1 thisform.grid2.Recordsourcetype = 1 thisform.grid2.Recordsource = 'a1' thisform.refresh ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2011, 10:57 |
|
|
start [/forum/topic.php?fid=41&msg=36223371&tid=1584489]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 429ms |
0 / 0 |