Private Sub QueryComboBox_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs) If QueryComboBox.SelectedItem.ToString().Contains("Select...") Then Return End If Dim queryTask As New QueryTask("http://xxxxxxxx/ArcGIS/rest/services/xxxxxx/MapServer/1") AddHandler queryTask.ExecuteCompleted, AddressOf QueryTask_ExecuteCompleted AddHandler queryTask.Failed, AddressOf QueryTask_Failed Dim query As New ESRI.ArcGIS.Client.Tasks.Query() query.Text = QueryComboBox.SelectedItem.ToString() query.ReturnGeometry = True query.OutSpatialReference = MainMap.SpatialReference query.OutFields.Add("*")
queryTask.ExecuteAsync(query) End Sub Private Sub QueryTask_ExecuteCompleted(ByVal sender As Object, ByVal args As ESRI.ArcGIS.Client.Tasks.QueryEventArgs) Dim featureSet As FeatureSet = args.FeatureSet
' If initial query to populate states combo box If (TryCast(args.UserState, String)) = "initial" Then ' Just show on initial load QueryComboBox.Items.Add("Select...") For Each graphic As Graphic In args.FeatureSet.Features QueryComboBox.Items.Add(graphic.Attributes("PRECINCT").ToString()) Next graphic QueryComboBox.SelectedIndex = 0 Return End If ' Remove the first entry if "Select..." If QueryComboBox.Items(0).ToString().Contains("Select...") Then QueryComboBox.Items.RemoveAt(0) End If ' If an item has been selected Dim graphicsLayer As GraphicsLayer = TryCast(MainMap.Layers("MyGraphicsLayer1"), GraphicsLayer) graphicsLayer.ClearGraphics() If featureSet IsNot Nothing AndAlso featureSet.Features.Count > 0 Then ' Show selected feature attributes in DataGrid Dim selectedFeature As Graphic = featureSet.Features(0) QueryDetailsDataGrid.ItemsSource = selectedFeature.Attributes ' Highlight selected feature selectedFeature.Symbol = TryCast(LayoutRoot.Resources("DefaultFillSymbol"), ESRI.ArcGIS.Client.Symbols.Symbol) graphicsLayer.Graphics.Add(selectedFeature) ...
Solved! Go to Solution.
Dim query As New ESRI.ArcGIS.Client.Tasks.Query() query.ReturnGeometry = True query.OutSpatialReference = MainMap.SpatialReference query.OutFields.Add("*") query.Where = String.Format("PRECINCT LIKE '%{0}%'", QueryComboBox.SelectedItem.ToString) queryTask.ExecuteAsync(query)
Dim query As New ESRI.ArcGIS.Client.Tasks.Query() query.ReturnGeometry = True query.OutSpatialReference = MainMap.SpatialReference query.OutFields.Add("*") query.Where = String.Format("PRECINCT LIKE '%{0}%'", QueryComboBox.SelectedItem.ToString) queryTask.ExecuteAsync(query)