30.01.2012, 14:06 | #1 |
Участник
|
Проблема с перерисовкой табов ax3, sp3
Здравствуйте. Появилась у меня проблема:
Два таба, на каждом по гриду, у каждого грида свой отдельный датасорс(две разные таблицы). Одно из полей первого датасорса есть внешним ключом второго датасорса. Нужно при переходе курсора или создании новой записи на гриде, который находится в первом табе, отображать связаную с курсором стоку второго датасорса во втором гриде. Делаю это так: на методе write первого датасорса и на методе pageActivated второго таба вызываю у второго датасорса executequery , где устанавливаются нужные фильтры и делаю element.redraw(). Суть проблемы: запрос правильно отрабатывает, но сразу перерисовка не делается. То есть, добавил строку в первый грид - перешел на второй таб, а там нет нужной сторки, перешел на первый, потом снова на второй - строка появилась. Пробовал разные варианты: refresh, redraw у формы, research у датасорса - ничего не помогает. Благодарю за любую помощь. |
|
30.01.2012, 14:45 | #2 |
Участник
|
Не нужно ничего программировать, просто свяжите источники данных, заполнив свойства JoinSource и LinkType на подчинённом датасурсе.
|
|
30.01.2012, 15:28 | #3 |
Участник
|
Спасибо за ответ. Я так понял, при этом должны быть установлены связи на уровне таблиц?
А все таки, для общего развития, как сделать так, что бы таб перерисовывался? |
|
30.01.2012, 15:47 | #4 |
Участник
|
Цитата:
Обновлять нужно не вкладку, а источник данных. Например, вызвав метод executeQuery у подчинённого датасурса. Но ещё раз, для данной задачи в этом нет необходимости. Последний раз редактировалось S.Kuskov; 30.01.2012 в 16:07. |
|
|
|