autocomplete box from list
I have a long list of values (500+) that I'd like to feed into an Auto Complete Box, rather than a List Box, for obvious reasons. The values are NOT coming from a REST service, so I can't use a Query Task. Rather the values in the list are concatenated values of two fields. Because an Auto Complete Box does not offer an "Input Data" list option and there is no REST service to query to get values, how do I do this? Can I do this? I thought maybe I could do this with RunTimeMod's, but that didn't work as I expected.
Any insight?
-
We got the same question. Even checked the SlivightViewer API couldn't figure out how to input a list item to AutoComplex Box. Our list is from SQL. We prefer not to add the table to mxd and publish as service.
Geocortex experts we need your help. Thanks.
0 -
I'm looking for the same thing but for a different reason. I have multiple sites and I would like to use the same workflow for all of them, but the service url are all different. I can use GetMapServiceInfoI and build the service url, query the layer for the values I need and build the values into a list. This works just fine for combo boxes or list boxes, but need to do the same thing with an autocomplete box.
My current solution is to have one workflow for each site and manually configure the service url for each of them...not very sustainable, but looks like it's the only way to make it work for now.
Any assistance would be really helpful.
Thanks
0 -
Hi Pablo
any reason not to configure an argument to the workflow, configured appropriately in each site, with the service Url?
Ralph
0 -
Ralph,
That's what I'm currently doing, but I end up with over 10 different workflows (one for each site) for the exact same query, the only difference is the map service url.
But if I can build the list and then use it in the autocomplete box, then I would only need one workflow which it's a lot easier to manage and update when needed.
Pablo
0 -
Hi Pablo
I do mean one workflow used by multiple sites. In the REST manager you can set properties on a workflow.
The name of the property needs to match the name of the argument not variable that exists in the workflow. In the workflow you then use the argument value.
Thus each site can use the same workflow
Or you can added the workflow more than once to a site with a different name (id) each time and set the property for the service Url to a different value for each one. There are definitely means to avoiding spoiling a Spatial Application Infrastructure as espoused by Latituse Geographics
See page 8 of the Workflow Designer Guide
I will send an example to you on Monday our time if you don't get it figured out by then
Regards
Ralph
0 -
Ralph,
Still can't get it to work, below is what I did:
- In the workflow created argument named mapServiceURL, Direction In, Argument type String
- In the autocomplete box Task URL typed mapServiceURL
- In the Site.xml, under the workflow I added <Property Name="mapServiceURL" Value="https://servername.com/arcgis/rest/services/FortKnox/HousingBaseMap/MapServer/4" />
I added an alert control to make sure the mapServiceURL property is being passed correctly, and it displays correctly. It doesn't seem like the Query Details Task URL of the autocomplete box is taking the argument.
Pablo
0 -
Hi Pablo
you are certainly a lot closer ;-)
If you put https://servername.com/arcgis/rest/services/FortKnox/HousingBaseMap/MapServer/4 into your browser does it actually get to the REST endpoint for querying that layer.
I have a feeling it should be https://servername.com/arcgis/rest/services/FortKnox/HousingBaseMap/MapServer/4/query
One option is to add query on the end of the property in the site.xml or append it within the workflow
Regards
Ralph
0 -
I tried adding "/query" to the end of the property in the site.xml and still doesn't work. Are you sure the design form can take a variable as the task url, where clause, or display field. I tried assigning https://servername.com/arcgis/rest/services/FortKnox/HousingBaseMap/MapServer/4/query to a local variable and entering that variable in the task url and it doesn't work either.
Pablo
0 -
Hi Pablo
what happens when you put this in your browser?
https://servername.com/arcgis/rest/services/FortKnox/HousingBaseMap/MapServer/4/query
Do you get something like:
/customer/servlet/servlet.FileDownload?file=00P6000000e88RoEAI
Or do you end up getting blocked due to it being an https:// url?
Do you need a token to deal with the security? I have yet to deal with those hassles. Someone else may chime in with ideas in that regard
Regards
Ralph
0 -
Ralph,
I do get the query page for the service. I removed the security for that service for testing purposes.
I might be wrong, but I think the problem lies with the task url not being able to read the variable, seems to me that it is not supported.
Pablo
0 -
Runtime modifications are available in Essentials 3.9 and higher.
0 -
Appreciate your help Ralph, it worked perfect!
Pablo
0 -
No problem Pablo
Regards
Ralph
0 -
Just an FYI in case anybody else is going to use this solution.
I also had to assign the QueryWhereClause and QueryDisplayOutputField properties of the autocompletebox in the runtime modifications. If I hard coded it into the design form, it didn't work.
Pablo
0 -
Hi Ralph,
How about get list from direct SQL query rather than from REST service? THanks.
0 -
Hi Jack
yes that is another method to use if you haven't got the data available in an ArcGIS REST endpoint for querying.
Ralph
0 -
Hi Ralph,
Actually that's my question. how can i do that? I can't see there's a place for me to conifg the autocomplete box to read from a data table or sql query return, not even mentioned in the SV api. Could you please advise? Thanks.
Jack
0 -
Hi Jack
I may have mislead myself as it was probably a listbox / combobox that I was thinking of. +
How many items were likely to be in your list?
Ralph
0 -
Ralph, it will be up to 100 for now. Thanks.
Jack
0 -
Hi Jack
I will post something tomorrow as to how to do this (I will have two hours head start on you ;-) )
Regards
Ralph
0 -
Any farther movement on this? I am trying to do the same thing and populate a autocomplete box from a sql query since my query table is not in the mxd and we do not want to add it there.
0 -
Hi Ralph,
0 -
Hi Jack
If there are very few items, does it need to be an AutoCompleteBox? ie less than one hundred or whatever was earlier suggested.
You are right, there is no option. Essentially it needs to be able to do what is done in my workflow on the fly. To do that you will need to publish that sql data by adding it to your ArcGIS mapservice.
Ralph
0 -
Hi Ralph,
There're 100+ items and IMO it is a very long list to pick up from combo box. In this case our users prefer to use Autocomplet box for faster accessing to the items in list. Anyway for now I'm creating a dedicated map service that has all these tables and use it for my autocomplete box. However I still think it's worth and shouldn't be hard for Geocortex in the future to consider the "Input Data" option as in Combo Box to Autocomplete box. Thanks
0 -
Sound like time to start a new thread in the Feature Request Forum ;-)
Regards
Ralph
PS I too have a MapService that is essentially just serving tables but found that you need at least one spatial layer to be able to serve it up and consume it in a GE Site. That spatial layer was then set to not be available in the GE REST Manager in the LayerList, Legend etc
0 -
Didn't thought about that. Thanks for the tip : )
0
Please sign in to leave a comment.
Comments
26 comments