An earlier forum post, www.sqlnotes.net/drupal5/index.php, "Auto-complete wherever/whenever there's a drop-down menu", suggested that auto-completion should be as near universal as practicable.
In several instances, I have a drop-down list which is derived from SQL (which means that the contents of the list are dynamic and change as values elsewhere in the IQbase change). In the instance illustrated, the drop-down list is very long and it takes far too long to select an item from it. I am continuing to investigate ways of restricting the length of that list. But my task would be considerably easier if I could "home-in" on the field value by typing the first few characters.
In the first illustration, we see part of a grid in which a field ValidTag, highlighted as point 1, is about to have a value chosen as the user clicks on the field – see point 2.
In several instances, I have a drop-down list which is derived from SQL (which means that the contents of the list are dynamic and change as values elsewhere in the IQbase change). In the instance illustrated, the drop-down list is very long and it takes far too long to select an item from it. I am continuing to investigate ways of restricting the length of that list. But my task would be considerably easier if I could "home-in" on the field value by typing the first few characters.
In the first illustration, we see part of a grid in which a field ValidTag, highlighted as point 1, is about to have a value chosen as the user clicks on the field – see point 2.
In the second illustration, we see the SQL SELECT statement used to populate the field:
The full SQL statement is:
SELECT WIKITag.WIKITag AS ValidTag
FROM WIKITag ORDER BY left(WIKITag.WIKITag, 255) asc;
In the third illustration, we see some typical possible values:
FROM WIKITag ORDER BY left(WIKITag.WIKITag, 255) asc;
In the third illustration, we see some typical possible values:
I would like to be able to type the first few characters, say {AMC, and for the list to become progressively restricted only to matching values. Once the choice is unique, the user should be able to press enter in order to choose that value.
This auto-completion already works for fields where the list of valid values is fixed, not derived from an SQL statement.
Is this possible for SQL-derived values? Would any other IQ users see this as a valuable development?
Comments
However, I make frequent use of fields whose values are derived from an SQL SELECT statement.
Point 1 shows the ValidTag field.
Point 2 shows where we wish to make a specific selection.
FROM WIKITag ORDER BY left(WIKITag.WIKITag, 255) asc;
The field Priority is defined with fixed values:
The next field, Classification, is an auto-list, and also has relatively simple values:
We see at point 1 that the field is defined as an auto-list.
If the field does not currently contain a value and I want to auto-completion, I find that it is necessary to key F2, to click on the down arrow, and to start to type characters that exist in the value desired. (Having to use the mouse moves away from the keyboard-only ideal that Pierre suggested he was trying to achieve.)
The implementation of the auto-complete appears to ignore non-alphanumeric characters, which in this case makes sense.
SELECT WIKITag.WIKITag AS ValidTag
FROM WIKITag ORDER BY left(WIKITag.WIKITag, 255) asc;
Once again, if ValidTag is a field in a grid, to use it we use the mouse to go down in the grid to the point at which we wish to choose a value, key F2, and start to type characters which appear in the tag which we are wanting to choose.
In the current implementation, the characters which you type are not visible on the screen. Instead, if there is a match for the characters you are typing, the item which contains them becomes highlighted as do the characters that you are looking for. This is generally exactly what is wanted but it can lead to slightly awkward behaviour. In the next example, I have keyed 2008. The first tag containing those characters becomes highlighted; see point 1 in the screenshot.
Actually, the current implementation of auto-completion is reasonably complete so that it is possible, having searched for 2008, to key backspace four times, then (for example) to key "CITSA 2008". However, the current implementation does not display the characters which you are actually typing. I note that at point 3, there is some spare "screen estate" where it would be possible and desirable to display the characters which are being typed; I would like to suggest this as an enhancement.
Sometimes, IQ appears to freeze. This seems to happen if, while using InfoQube, I move away to another application and return to InfoQube. IQ appears to freeze. Keying F2 or anything else does nothing – it is no longer possible to navigate within the grid using the keyboard or the mouse; the grid seems to have lost focus. The InfoQube process is using only 1% or 2% of a processor. Keying F5 to refresh does nothing. Instead, it is necessary to move to another grid, do something there, then go back to the grid which contains the field, to key F2, click right arrow and start searching again.
Now consider the situation in figure 6:
Supposing I want to select the value shown as point 3 in Figure 6. I type biz, and the value highlighted is shown as point 2. I cannot find a way to go on to type "\CSR"; everything I key beyond "biz" appears to be ignored. I would like to suggest that, if the search string starts with a character which is not a letter or a space or a number, that the whole search string (including characters which are not strictly alphanumeric) be taken into account in the search. So, here, it will be possible to type either the full string "\biz\CSR" or perhaps just "\CSR"; again, keying F3 would move the search forward.
Summarising the suggestions:
This is fixed in v0.9.26PreRel44
Pressing F3 works here. Have you checked this lately ?
This is fixed in v0.9.26PreRel44
Symbols (/, \, etc) are working fine here
This is fixed in v0.9.26PreRel44
== This is excellent news, thank you very much.
Pressing F3 works here. Have you checked this lately ?
== Doh, dummkopf, I didn't actually think to try it! This works well, thank you.
This is fixed in v0.9.26PreRel44
== Once again, good news. I see that you intend to turn choosing a pop-up value into a modal dialogue. That, in this context, does make sense. [For anyone who isn't too sure what a modal dialogue is, take a look at: www.wikiwand.com/en/Modal_window.]
Symbols (/, \, etc) are working fine here
== But not here, on two separate computers each using Windows 7 Professional 64 bit. This problem is no doubt related to the problem which I have previously reported as www.sqlnotes.net/drupal5/index.php. The workaround which you suggest there, which is to key F2 first, is inapplicable in that I always have to press F2 1st to get the field to edit at all. Pressing F2 again in order to get the example search string \biz\air to work does not change the behaviour. However, that said, this is not a very major issue and must not delay release of the new version. Conversely, I hope that you will continue to give consideration to the other suggestions which I have made.