Показать сообщение отдельно
Старый 19.04.2002, 19:36   #8  
Rem is offline
Rem
Участник
 
17 / 10 (1) +
Регистрация: 27.03.2002
Цитата:
slava
display method должен непосредственно быть в списке методов dataSource, а не в методах формы. причем в свойствах контрола (свойство dataSource ) должен быть указан dataSource, которому принадлежит метод.
Прошу прощения, но у меня это не получается. Уточню и конкретизирую проблему: есть две таблицы:

tb1
id
name

tb2
id
type
txt

tb1 связана с tb2 по полю id отношением "один-ко-многим".

Необходимо на форме в Gride выводить следующую информацию:

tb1.id tb1.name и tb2.txt (причем тот txt из нескольких, который имеет type=1).

Ранее пробовал так:

display str vs_txt()
{
;
return (select * from tb2 where tb2.id==(select * from tb1).id &&
tb2.type==1).txt;
}

Этот метод принадлежал методам формы. При открытии формы метод возвращал txt первой записи для всех строк. Пробовал устанавливать/менять/снимать свойство LinkType у tb2 - не помогло.

Просто создать связь посредством LinkType=InnerJoint тоже не подходит, так как надо отображать только tb2.type==1.

Slava советовал разместить display метод

Цитата:
в списке методов dataSource, а не в методах формы. причем в свойствах контрола (свойство dataSource ) должен быть указан dataSource, которому принадлежит метод.
То есть я разместил этот метод в ветке myfrm\DataSources\tb1\methods. Свойство DataSource Grid'а установил в tb1.

Запускаю форму и столбец остается пустым. Более того я обнаружил, что этот метод так не разу и не вызывается.

Что я делал не так и что мне необходимо исправить, чтобы мой пример заработал ?

Всем спасибо.