Exceptions Posted December 12, 2006 Posted December 12, 2006 Hiya. I'm moving from an old 4D environment, and C++, to FM, and having some problems finding equivalent solutions to common problems. In fact, i'm sure that some of the solutions in FM will be totally different. I'm a little overwhelmend, even with the big fat Que book. Lots of little options dialogs and not a lot of overall sense of what's the right thing to do... For example, let's say I've got a comic-book database. The comics records each have a foreign key which is the title of the comic. The title record data isn't stored in the comic record; just the foreign key is kept. There are many titles which have the same (or similar) names. When the user wants to enter a comic, he has to identify what title it belongs to. In 4D, when you start typing a string and then tab, you can trigger a script which opens a new window that displays a list of all titles whose names contain the string fragment you typed. From what I've seen so far in FM, the similar solution would be to set up the foreign key field to create a value list based on related records in the titles table, and show the foregn key plus the title name as the 'second' field. The triggering action is to hit a drop-down arrow. You get the idea. It's not immediately intuitive to the noob. Alternatively, I can trigger the creation of a new window with a button and use a layout The gist of it is, I think there should be an easier, probably organic FM way to do this kind of stuff, and I haven't come across it yet. The value list made of related matches is a little lightweight for this kind of application, and the trigger events don't seem to be available to me without explicit button-clicking. Where's a noob to find organic solutions?
The Shadow Posted December 13, 2006 Posted December 13, 2006 Here's a simple example of what you described. By using the "auto-complete" feature on an edit box from the "Field/Control setup" dialog, you can get a popup when there are multiple choices only (Try starting to type a new title of "Fan" to see that work). Comics.zip
Exceptions Posted December 13, 2006 Author Posted December 13, 2006 Thank you...that is what I was first attempting to do, but my results were quite clunky. So the auto-complete is the equivalent of 'type-ahead'? I notice that you don't have any options in the table fields themselves, and that you simply have the layout tile field setup to auto-complete. This narrows the focus of my problem: how to know if a solution should be in the field definiitons as opposed to a layout or script? Also, the layout title name edit box actually is the title name field. Won't this allow the title to be changed by the user when entering an issue? The field must be enterable, so it is modifiable.
The Shadow Posted December 14, 2006 Posted December 14, 2006 Actually, my simple example doesn't really work. It is creating a new related record for every title, even one that's already been entered. So, the user wouldn't be able to change other titles, since they are incorrectly not being shared. And yes, the auto-complete is one way to implement a type-ahead system, you can also use a valuelist as the source data.
Recommended Posts
This topic is 6555 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now