Page 1 of 1
Posted:
Mon May 01, 2006 9:36 am
by njw
Is there a way to define the select list for the add existing record box? I have a box to attach people to a record, but the select box only shows me the surname. Presumably it assumes the first field is the key (correctly) and that the second field uniquely identifies the record (incorrect). Can I add some SQL code to get it to use the surname and forenames?
Thanks
Neil
Posted:
Mon May 01, 2006 9:45 am
by shannah
You should be able to use the titleColumn() method in the delegate class to define the columns to be used as the title.
e.g.:
- Code: Select all
function titleColumn(){
return 'FirstName';
}
Or if you want the title to be a concatenation of different fields you could do:
- Code: Select all
function titleColumn(){
return "CONCAT(FirstName,' ',LastName)";
}
Hope this helps
-Steve
Posted:
Tue May 02, 2006 2:41 am
by njw
Attempted this Steve, but nothing changed. I think I need to give you more info.
I have 3 tables: Opportunities, Person and PersonOpps (which has three fields, PersonOppsId, OpportunitiesId and PersonId). I have defined a many-to-many relationship between Opportunities and Person via PersonOpps. When I go to the Person tab in the Opportunities form and click "Add existing record", I get just the surname on the Select List. I would like to have forenames and surname.
So, my questions:
1. Which directory do I put my Program.php file in?
2. Should the Program.php be PersonOpps.php?
3. Why will changing the column title change the data display?
Many thanks
Neil
Posted:
Tue May 02, 2006 8:16 am
by shannah
Hi Neil.
1. Program.php goes in the tables/Programs directory. PersonOpps.php goes in the tables/PersonOpps.php directory, Person.php goes in the tables/Person directory. etc...
2. The Program.php should be PersonOpps.php only if it is the delegate class for the PersonOpps table.
3. Changing the column title will change the display data because the add existing record form lists the titles of all available records in the destination table. If you don't define a title column it takes this to be the first char or varchar column in the table. In your case it appears to be the surname.
In this case, the delegate class that you need to add the titleColumn() method to is the Person.php delegate class, because it appears the the Person table is the destination table of your relationship.
Hope this helps.
Steve