07.08.2014, 09:32 | #21 |
Участник
|
Цитата:
Если можно, то приведите точный текст сообщения об ошибке. Вы в какой таблице свой дисплейный метод создали? Нужно в той, которая отображается на форме, т.е. в той из которой на форму выводится поле счет клиента. Он компилируется, нет ошибок компиляции? У меня ещё такой вопрос. Что бы вы делали, например, если бы вам нужно было рядом с кодом клиента на форме отобразить не дисплейный метод, который тянет информацию откуда-то, а просто соседнее поле из этой же самой таблицы? Вы бы, наверное, создали новое поле рядом с тем полем которое отображает счет клиента. Правильно? А дальше? Для дисплейного метода все почти тоже самое, только вместо имени поля - имя метода. P.S.: Ещё один момент. Важно каким способом на форме размещены уже существующие поля. Возможен вариант, когда поля на форме располагаются не самостоятельно а внутри группы. В таком случае нужно менять состав группы на уровне таблицы а не на уровне формы (на уровне формы в таком случае возможность добавления внутрь группы нового элемента будет просто заблокирована). |
|
07.08.2014, 10:06 | #22 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Не на дизайне, не на гриде, а на самом поле внутри грида. Вы же хотите чтобы значение метода попало в конкретное поле, а не на весь грид растянулось или на всю форму.
Если можно, то приведите точный текст сообщения об ошибке. Вы в какой таблице свой дисплейный метод создали? Нужно в той, которая отображается на форме, т.е. в той из которой на форму выводится поле счет клиента. Он компилируется, нет ошибок компиляции? У меня ещё такой вопрос. Что бы вы делали, например, если бы вам нужно было рядом с кодом клиента на форме отобразить не дисплейный метод, который тянет информацию откуда-то, а просто соседнее поле из этой же самой таблицы? Вы бы, наверное, создали новое поле рядом с тем полем которое отображает счет клиента. Правильно? А дальше? Для дисплейного метода все почти тоже самое, только вместо имени поля - имя метода. P.S.: Ещё один момент. Важно каким способом на форме размещены уже существующие поля. Возможен вариант, когда поля на форме располагаются не самостоятельно а внутри группы. В таком случае нужно менять состав группы на уровне таблицы а не на уровне формы (на уровне формы в таком случае возможность добавления внутрь группы нового элемента будет просто заблокирована). Ошибка выходит: Таблица находится вне диапазона или не существует.... |
|
07.08.2014, 10:08 | #23 |
Участник
|
|
|
07.08.2014, 10:26 | #24 |
Участник
|
у вас метод находится на контролле. перенесите его в датасурс. потребуется еще откорректировать метод, добавив атрибут "ВашаТаблица". а затем мышкой перенесите его в грид.
Последний раз редактировалось ice; 07.08.2014 в 10:28. |
|
07.08.2014, 10:48 | #25 |
Участник
|
|
|
07.08.2014, 10:48 | #26 |
Участник
|
Нет. Вы не то сделали. Вы создали метод на контроле. Но для того чтобы связать контрол с данными, нужно настраивать не его методы, а его свойства.
В свойствах контрола задается источник данных (DataSource) и ссылка на столбец или как в вашем случае на метод таблицы (DataMethod) Ещё раз. Сам дисплейный метод должен располагаться на таблице. Он как бы компенсирует отсутствие на этой таблице такого поля, и представляет собой вычисляемое поле, которое можно почти также как и обычное поле таблицы отобразить на форме в гриде. |
|
07.08.2014, 12:26 | #27 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Нет. Вы не то сделали. Вы создали метод на контроле. Но для того чтобы связать контрол с данными, нужно настраивать не его методы, а его свойства.
В свойствах контрола задается источник данных (DataSource) и ссылка на столбец или как в вашем случае на метод таблицы (DataMethod) Ещё раз. Сам дисплейный метод должен располагаться на таблице. Он как бы компенсирует отсутствие на этой таблице такого поля, и представляет собой вычисляемое поле, которое можно почти также как и обычное поле таблицы отобразить на форме в гриде. |
|
07.08.2014, 12:28 | #28 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Нет. Вы не то сделали. Вы создали метод на контроле. Но для того чтобы связать контрол с данными, нужно настраивать не его методы, а его свойства.
В свойствах контрола задается источник данных (DataSource) и ссылка на столбец или как в вашем случае на метод таблицы (DataMethod) Ещё раз. Сам дисплейный метод должен располагаться на таблице. Он как бы компенсирует отсутствие на этой таблице такого поля, и представляет собой вычисляемое поле, которое можно почти также как и обычное поле таблицы отобразить на форме в гриде. |
|
07.08.2014, 12:35 | #29 |
Участник
|
Цитата:
DataSource: имя датасорса таблицы, на которой создан дисплей-метод. DataMethod: имя дисплей метода без скобок. |
|
07.08.2014, 12:40 | #30 |
Участник
|
Цитата:
Перевожу на русский. В форме есть дизайн - это внешний вид. У в дизайне есть нужный вам контрол - это поле на форме. Оно у вас в гриде (в табличке) и называется StringEdit:PurchPowerOfAttorneyTable_VendName . У этого контрола есть 2 свойства: первое DataSource = PurchPowerOfAttorneyTable второе DataMethod = vendorName |
|
07.08.2014, 12:42 | #31 |
Участник
|
|
|
07.08.2014, 12:49 | #32 |
Участник
|
Цитата:
Сообщение от Мартынов Дмитрий
Да именно так.
Перевожу на русский. В форме есть дизайн - это внешний вид. У в дизайне есть нужный вам контрол - это поле на форме. Оно у вас в гриде (в табличке) и называется StringEdit:PurchPowerOfAttorneyTable_VendName . У этого контрола есть 2 свойства: первое DataSource = PurchPowerOfAttorneyTable второе DataMethod = vendorName |
|
07.08.2014, 13:01 | #33 |
Участник
|
Щелкните правой кнопкой мыши по StringEdit:PurchPowerOfAttorneyTable_VendName чтобы открыть окно свойств (в контекстном меню самый нижний пункт). В списке свойств обязательно будет и свойство с именем DataMethod. По умолчанию оно пустое, но вам нужно в него написать имя вашего display-метода. Не выбрать из списка (там нет выбора) а именно написать.
|
|
07.08.2014, 13:25 | #34 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Щелкните правой кнопкой мыши по StringEdit:PurchPowerOfAttorneyTable_VendName чтобы открыть окно свойств (в контекстном меню самый нижний пункт). В списке свойств обязательно будет и свойство с именем DataMethod. По умолчанию оно пустое, но вам нужно в него написать имя вашего display-метода. Не выбрать из списка (там нет выбора) а именно написать.
|
|
07.08.2014, 13:28 | #35 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Щелкните правой кнопкой мыши по StringEdit:PurchPowerOfAttorneyTable_VendName чтобы открыть окно свойств (в контекстном меню самый нижний пункт). В списке свойств обязательно будет и свойство с именем DataMethod. По умолчанию оно пустое, но вам нужно в него написать имя вашего display-метода. Не выбрать из списка (там нет выбора) а именно написать.
|
|
07.08.2014, 13:41 | #36 |
Участник
|
Сотрите введённое значение в DataField.
Одновременно можно выбрать только один вариант: DataMethod, DataField, ExtendedDataType. Последний раз редактировалось Cardagant; 07.08.2014 в 13:48. |
|
07.08.2014, 13:43 | #37 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: AlGol (1). |
07.08.2014, 13:49 | #38 |
Участник
|
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
07.08.2014, 13:51 | #39 |
Участник
|
|
|
07.08.2014, 14:01 | #40 |
Участник
|
Ура! Ура! Ура!
|
|