You can use control.executeQuery() to get a complete list of all the options for a suggest box, but you will have to filter them to eliminate the options you don't want.
If you a Dynaform with:
- a suggest box with the ID "selectUser", which has the SQL query:
SELECT USR_UID, USR_USERNAME FROM USERS
- a grid with the ID "usersList", which has two fields:
- - textbox with the ID "userId"
- - textbox with the ID "username
- a button with the ID "fillGrid"
Add the following JavaScript to the DynaForm. When the "fillGrid" button is clicked, it adds all the options in the suggest box which match the current value in the suggest box.
Code: Select allfunction populateGridFromSuggest() {
var filter = $("#selectUser").getValue();
var aOptions = getFieldById("selectUser").executeQuery();
//clear the grid:
var nRow = $("#usersList").getNumberRows()
for (; nRow > 0; nRow--) {
$("#usersList").deleteRow(nRow);
}
//repopulate the grid with the filtered options from the suggest box:
for (var i in aOptions) {
if (aOptions[i].text.search(filter) != -1) {
$("#usersList").addRow([{value: aOptions[i].value}, {value: aOptions[i].text}]);
}
}
}
$("#fillGrid").on("click",populateGridFromSuggest);
Here is a example DynaForm:
(3.04 KiB) Downloaded 309 times