Показать сообщение отдельно
Старый 07.04.2006, 18:48   #9  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от gl00mie
Все-таки, как можно увязать changecompany и display-метод на таблице?
Собственно, у меня пока получается следующая ситуация: на форме нужно показывать данные, которые как-то вычисляются по другим данным в строке и по другим таблицам. Для этого выбран, как мне казалось, наиболее подходящий выход - в grid добавлено дополнительное поле, которое связано с display-методом. В условиях того, что форма может быть открыта в одной компании, пользователь переключится на другую компанию, и тогда display-метод при перерисовке формы будет вызываться в контексте другой компании и показывать лажу, необходимо его всегда выполнять в "нужной" компании - той, в которой была открыта форма, например. С одной стороны, видится простое решение: в ClassDeclaration формы добавляется переменная - код компании, она инициализируется с помощью init() формы, затем display-метод использует эту переменную. все бы хорошо, но в моем случае использовать display-метод на чем-то, связанном с формой (читай, на DataSource), не выходит - метод показывает фигню, потому что для разных строк использует одни и те же данные, ведь DataSource ссылается на какую-то одну запись (строку), а в гриде этих строк может быть больше одной... Чтобы таких визуальных глюков не было, был использован display-метод таблицы, а не DataSource'а (в моем случае SalesLine). Все работает замечательно, показывается то, что нужно, вот только мне не приходит в голову, как в метод таблицы, вызываемый без параметров, передать информацию о том, в контексте какой "правильной" компании он должен отрабатывать, - ведь у SalesLine нет доступа к переменным, объявленным в форме И дополнительную "переменную" в SalesLine не заведешь - это же таблица, там только поля записи. Что же остается, создавать в форме временную таблицу, заполнять ее, когда заполняется grid строчной части формы, и потом брать данные оттуда? И все это - только чтобы отобразить лишнее "вычисляемое" поле в строке?
Ничего не понял. Давайте конкретно обсуждать, где и что Вы хотите увидеть?
__________________
Isn't it nice when things just work?