AnsweredAssumed Answered

Filter a javascript search widget query

Question asked by jwebber007 on Sep 18, 2015
Latest reply on Sep 18, 2015 by jwebber007

I am attempting to implement a search widget to search for a parcel ID on the map. The feature layer I am using has multiple rows per polygon based on what appraisal year we are interested in. For other query tasks I am able to specify a where clause that limits returned rows to a specific year. I do not seem to have that same level of control with the sources for the search widget.


Here is the search widget initiating code I am using;


              var s = new Search({

                enableButtonMode: true, //this enables the search widget to display as a single button

                enableLabel: false,

                enableInfoWindow: true,

                showInfoWindowOnSelect: true,

                map: map

             }, "search");


Here is the source I am using to perform the search against the feature layer;


            var sources = [];


            featureLayer: new FeatureLayer(""),

            searchFields: ["xxx.dbo.map_property_data_vw.prop_id"],

            displayField: "xxx.dbo.map_property_data_vw.prop_id",

            exactMatch: false,

            name: "propSearch",

            outFields: ["*"],

            placeholder: "Enter a property ID...",

            maxResults: 6,

            maxSuggestions: 6,

            infoTemplate: infoTemplateQuery,

            enableSuggestions: false,

            minCharacters: 2


         s.set("sources", sources);



The search works as expected and opens to appropriate infoWindow, however the data displayed is not from the correct year, thus not providing the latest information in some cases. I have no control over the REST service, or I would just alter the query to be more suitable for this application.


I am hoping to implement something similar to how I filter other feature layer queries;


  query.where = "xxx.dbo.map_property_data_vw.prop_val_yr = '" + 2015 + "'";


Is this possible, or should I be taking another approach?


Thank you in advance.