Focal Point
[CLOSED] Textbox reating as a double list box

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/2747088096

October 26, 2018, 03:48 PM
MartinY
[CLOSED] Textbox reating as a double list box
Hi community,

I'm trying to create a text box that will react similar to a double list box meaning that for each entered value in a text box I will then have it added to another control as a list.

I know that I could do some javascript where a add/remove button between the two controls (text box and text area) will do the trick.
But I'm wondering if there is already something out of the box from the IB HTML composer that I haven't figured that can do it already ?

The double list box (DLB) is not an option (even with its search feature) since the valid values from which I could have the DLB select from has over 20K entries that cannot be narrow down.
Also the users want the ability to use wild cards instead of selecting multiple values. They want the ability to enter 123% instead of 123111, 123222, 123333, 123444

Any ideas ?

This message has been edited. Last edited by: FP Mod Chuck,


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
October 29, 2018, 07:30 AM
Frans
What about 3 controls; one edit box for users to enter a string which triggers a second normal listbox where they can select the values they want, those values are then passed to the third control to show them to users.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
October 29, 2018, 08:33 AM
MartinY
Thanks for the suggestion Frans, but as I specified :
quote:
Also the users want the ability to use wild cards instead of selecting multiple values

And your option does exactly want they don't want : they will have to multi-select the values and they will have to do multiple time multi-selection.

Using your option this is want the users will have to do : Enter 123 in the first control, the second one will then be updated to list all values starting with 123. From that they will have to multi-select those they want from the list to add them in the third control.
After that, they enter 789 in the first control, the second one is then updated with those starting with 789 and they then have to choose those they want to add them to the third list.

I'm looking for something more simple then that.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
October 29, 2018, 10:47 AM
Frans
OK, then why not hide the 2nd box and create a function for box3 that just appends data from box2?


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
October 29, 2018, 11:28 AM
MartinY
Yes it could be.
But it's a lot of I/O just to retrieve the value list and move it to the 3rd ctrl. Remember that in my original spec I've mentioned that there is over 20K different entries in the source table.
Meaning that each time the value will change in 1st ctrl, the list in 2nd ctrl will need to be updated according to entry in 1st ctrl.

And it will need another control to identify "ok I have finish to enter my value, load the value list in 2nd ctrl".

Another issue that I'm facing is the "remove" of a selected value. Let's pretend that I already have selected 123 and 789.
Meaning that all the values starting with these both string will be added to the 3rd control
Then I realize that I've made a mistake. It's not 789 but 798.
I have to select and remove all values starting with 789 to then remove from the 3rd ctrl instead of just removing one entry : 789%.

I hope that now you have a better understanding of my dilemma/issue.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
October 29, 2018, 12:19 PM
Frans
Maybe if you use the three control in the 3rd box, with the entered value as grouping and the database values as 2nd level, the user could deselect 789% in your example.

But you're right, it can be a lot of IO, it can also be a problem of the size of the SQL command if there are so many values in the WHERE.

Another option is that you just present them a textarea where they enter their search strings line by line, then you create a where for each line. With this option they just enter and click in the end for execution, but you're losing the functionality to let them list values before they execute.

You could go for a more fancier solution with a jquery plugin with lazy loading, autocomplete, etc etc. But with that you could also hit limits in size of the SQL command.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
October 29, 2018, 01:53 PM
MartinY
quote:
Another option is that you just present them a textarea where they enter their search strings line by line

The issue with textarea is that you need to press Enter to see them on a different line (and the passed value is only one long string that then need to be manipulated to have a "valid" WHERE clause. This may not be an issue since many solution will require a manip at a certain point. But since it follow a pattern, it's easy).
With text area, the user experience is not pretty good since you have to press enter to create multiple rows and if you don't, everything is wrapped according to the textarea width.
This is why I was looking for a DLB but for text entries.

quote:

hit limits in size of the SQL command

Reason to use a wild card. So instead of listing all the values in the WHERE clause, I can use LIKE 123%


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007