01.06.2006, 12:28 | #1 |
Участник
|
Display метод на форме
Создаю дисплей метод на форме:
Код: display InventQty pQtyOrdered() { return SalesLine.QtyOrdered; } Связал его с контролом в Grid, получаю одинаковые значения поля во всех строка на форме... что не так? Видимо Код: SalesLine.QtyOrdered |
|
01.06.2006, 12:35 | #2 |
Moderator
|
Читайте внимательнее мануал, синтаксис display-методов на форме.
display InventQty pQtyOrdered(SalesLine _salesLine) { return _salesLine.QtyOrdered; }
__________________
Андрей. |
|
01.06.2006, 12:41 | #3 |
NavAx
|
Еще можете разместить этот метод прямо на таблице, тогда будет возможность использовать его и на других формах.
|
|
01.06.2006, 12:41 | #4 |
Участник
|
Цитата:
Сообщение от Dron AKA andy
Читайте внимательнее мануал, синтаксис display-методов на форме.
display InventQty pQtyOrdered(SalesLine _salesLine) { return _salesLine.QtyOrdered; } Кстати, указанный вариант также не работает... |
|
01.06.2006, 12:45 | #5 |
Moderator
|
Так его и надо делать на источнике данных, или я что-то не понял?
По какой строке SalesLine Вы хотите получить данные, если делаете его на форме, а не на источнике?
__________________
Андрей. |
|
01.06.2006, 12:45 | #6 |
Программатор
|
А почему просто не прописать в свойствах контрола таблицу и её поле? и поставить AllowEdit в No?
|
|
01.06.2006, 12:45 | #7 |
Участник
|
Цитата:
Сообщение от LEX
Еще можете разместить этот метод прямо на таблице, тогда будет возможность использовать его и на других формах.
|
|
01.06.2006, 12:52 | #8 |
Участник
|
Ошибка в том, что если вы пытаетесь добавить дисплей метод в grid, то использовать следует метод на датасорсе, а метод на форме с табличной перемнной salesLine будет во всех строках Grid-a отражать значение из выделенной в данный момент строки.
|
|
01.06.2006, 12:53 | #9 |
Участник
|
Цитата:
Сообщение от Dron AKA andy
Так его и надо делать на источнике данных, или я что-то не понял?
Цитата:
Сообщение от Dron AKA andy
По какой строке SalesLine Вы хотите получить данные, если делаете его на форме, а не на источнике?
|
|
01.06.2006, 12:54 | #10 |
Участник
|
Ошибка в том, что вне зависимости от такого в каком месте формы вы напишите display-method, если вы будете обращаться к датасорсу по имени (SalesLine) - то будете всегда получать текущую выбранную строку _ (так оно и должно работать)
Поэтому при написании дисплей методов на форме - их необходимо писать на датасорсе, и передавать параметром строку SalesLine - это будет прорисовываемая в данный момент строка - и сразу получите разные значения для строк. А если писать на таблице, то вообще проблем не будет. Успехов |
|
|
За это сообщение автора поблагодарили: PavelSR (1). |
01.06.2006, 12:55 | #11 |
Участник
|
Руководство разработчика:
"Note You must use display on a form data source method when the return value is to be shown on a grid control." |
|
01.06.2006, 13:00 | #12 |
Участник
|
Цитата:
Сообщение от PavelSR
На форме я его делаю для того, чтобы сделать кэширование в ручную (с использованием класса Map)....
|
|
01.06.2006, 13:10 | #13 |
Участник
|
Цитата:
Сообщение от Gad
Если используется "ручное" кэширование, то зачем вам переменная salesLine для вывода значения? Если есть это кэширование (не понял что за зверь), то нужно наверное данные из Map и читать иначе зачем он тогда нужен?
|
|
01.06.2006, 13:16 | #14 |
Участник
|
Тож говорю - переменная salesLine ссылается на активную строку грида. Всегда. Для каждой прорисовывоемой строки. Соответственно и значения все одинаковые.
И другого и быть не может. |
|
01.06.2006, 13:36 | #15 |
Участник
|
Цитата:
Сообщение от PavelSR
Кстати, указанный вариант также не работает...
|
|
01.06.2006, 13:50 | #16 |
Участник
|
Цитата:
Сообщение от Gad
Кстати, если указанный вариант тоже не работает, может дело не в дисплей методе, а в том, что например на контроле кроме поля DataMethod, не заполнено поле DataSourse, которое для метода на форме заполнять не надо, а вот для метода на датасорсе очень даже надо.
Отдельное спасибо kashperuk за подробные комментарии! |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Grid и display-метод | 20 | |||
display-метод | 9 | |||
Можно ли в display методе узнать для какого FormControl'а этот метод вызван? | 3 | |||
display метод с параметром | 5 | |||
display метод на форме | 11 |
|