<StackPanel> <slData:DataGrid x:Name="IdentifyDetailsDataGrid" AutoGenerateColumns="False" HeadersVisibility="None" Background="White"> <slData:DataGrid.Columns> <slData:DataGridTextColumn Binding="{Binding Path=Key}" FontWeight="Bold"/> <slData:DataGridTextColumn Binding="{Binding Path=Value}"/> </slData:DataGrid.Columns> </slData:DataGrid> <slData:DataGrid x:Name="IdentifyDetailsDataGrid2" AutoGenerateColumns="False" HeadersVisibility="None" Background="White"> <slData:DataGrid.Columns> <slData:DataGridTextColumn Binding="{Binding Path=Key}" FontWeight="Bold"/> <slData:DataGridTextColumn Binding="{Binding Path=Value}"/> </slData:DataGrid.Columns> </slData:DataGrid> </StackPanel>
public void ShowFeatures(List<IdentifyResult> results) { _dataItems = new List<DataItem>(); if (results != null && results.Count > 0) { IdentifyComboBox.Items.Clear(); foreach (IdentifyResult result in results) { Graphic feature = result.Feature; string title = result.Value.ToString() + " (" + result.LayerName + ")"; _dataItems.Add(new DataItem() { Title = title, Data = feature.Attributes }); IdentifyComboBox.Items.Add(title); if(result.LayerId == 3) IdentifyDetailsDataGrid.ItemsSource = feature.Attributes; else IdentifyDetailsDataGrid2.ItemsSource = feature.Attributes; } IdentifyComboBox.SelectedIndex = 0; } }
public void ShowFeatures(List<IdentifyResult> results) { _dataItems = new List<DataItem>(); if (results != null && results.Count > 0) { foreach (IdentifyResult result in results) { Graphic feature = result.Feature; string title = result.Value.ToString() + " (" + result.LayerName + ")"; _dataItems.Add(new DataItem() { Title = title, Data = feature.Attributes }); var fieldsToDisplay = new List<string>() { "School Name", "Address", "Zip", "Phone", "Website", "School District" }; var attributesToDisplay = new Dictionary<string, object>(); foreach (var item in feature.Attributes) if (fieldsToDisplay.Contains(item.Key)) attributesToDisplay[item.Key] = item.Value; if (result.LayerId == 4) IdentifyDetailsDataGrid.ItemsSource = feature.Attributes; IdentifyDetailsDataGrid.ItemsSource = attributesToDisplay; if (result.LayerId == 9) IdentifyDetailsDataGrid2.ItemsSource = feature.Attributes; IdentifyDetailsDataGrid2.ItemsSource = attributesToDisplay; if (result.LayerId == 14) IdentifyDetailsDataGrid3.ItemsSource = feature.Attributes; IdentifyDetailsDataGrid3.ItemsSource = attributesToDisplay; }
var temp = new Dictionary<string, object>(); var fields = new List<string>() {"field1", "field2"}; //fields to display foreach(var item in feature.Attributes) { if(fields.Contains(item.Key)) temp[item.Key] = item.Value; } //more code goes here Data = temp
<!--IDENTIFY TASK INTERFACE--> <StackPanel Margin="10" HorizontalAlignment="Right"> <Grid> <Rectangle Fill="#CC5C90B2" Stroke="Gray" RadiusX="10" RadiusY="10" Margin="0,0,0,-25" /> <TextBlock Text="School Attendance Area:" Foreground="White" FontSize="10" Margin="14,9,6,6" /> <StackPanel x:Name="IdentifyResultsStackPanel" Margin="15,30,15,10" Visibility="Collapsed"> <TextBlock Text="Select a result from the list to display additional info" Foreground="White" FontSize="10" FontStyle="Italic" Margin="0,0,0,5" /> <ComboBox x:Name="IdentifyComboBox" SelectionChanged="IdentifyComboBox_SelectionChanged" /> <ScrollViewer MaxHeight="340" Margin="0,10,0,0"> <slData:DataGrid x:Name="IdentifyDetailsDataGrid" AutoGenerateColumns="False" HeadersVisibility="None" LoadingRow="IdentifyDetailsDataGrid_LoadingRow"> <slData:DataGrid.Columns> <slData:DataGridTextColumn Binding="{Binding Path=Key}" FontWeight="Bold"/> <slData:DataGridTextColumn Binding="{Binding Path=Value}"/> </slData:DataGrid.Columns> </slData:DataGrid> <slData:DataGrid x:Name="IdentifyDetailsDataGrid2" AutoGenerateColumns="False" HeadersVisibility="None" LoadingRow="IdentifyDetailsDataGrid_LoadingRow"> <slData:DataGrid.Columns> <slData:DataGridTextColumn Binding="{Binding Path=Key}" FontWeight="Bold"/> <slData:DataGridTextColumn Binding="{Binding Path=Value}"/> </slData:DataGrid.Columns> </slData:DataGrid> </ScrollViewer> <ListBox x:Name="MyListBox" Height="200" Width="200" /> </StackPanel> </Grid> </StackPanel> </Grid> </UserControl>
//Displaying Identify Results. // Populate ComboBox with the results when Identify is complete. private void IdentifyTask_ExecuteCompleted(object sender, IdentifyEventArgs args) { IdentifyComboBox.Items.Clear(); // Check for new results. if (args.IdentifyResults.Count > 0) { // Show ComboBox and attributes DataGrid. IdentifyResultsStackPanel.Visibility = Visibility.Visible; // Add results to ComboBox. foreach (IdentifyResult result in args.IdentifyResults) { string title = string.Format("{0} ({1})", result.Value.ToString(), result.LayerName); IdentifyComboBox.Items.Add(title); } // Workaround for ComboBox bug. IdentifyComboBox.UpdateLayout(); // Store the list of Identify results. _lastIdentifyResult = args.IdentifyResults; // Initialize ComboBox and fire SelectionChanged. IdentifyComboBox.SelectedIndex = 0; } else { // Hide ComboBox and attributes DataGrid and notify the user. IdentifyResultsStackPanel.Visibility = Visibility.Collapsed; MessageBox.Show("No features found"); } }
var fieldsToDisplay = new List<string>() { "School Name", "Address", "Zip", "Phone", "Website", "School District" }; var attributesToDisplay = new Dictionary<string, object>(); foreach (var item in selectedFeature.Attributes) if (fieldsToDisplay.Contains(item.Key)) attributesToDisplay[item.Key] = item.Value; IdentifyDetailsDataGrid.ItemsSource = attributesToDisplay;
if (args.IdentifyResults.Count > 0) { IdentifyResultsStackPanel.Visibility = Visibility.Visible; foreach (IdentifyResult result in args.IdentifyResults) { string title = string.Format("{0} ({1})", result.Value.ToString(), result.LayerName); IdentifyComboBox.Items.Add(title); }
if (e.IdentifyResults.Any(r => r.LayerId == 1)) { var resultsFrom1 = e.IdentifyResults.Where(r => r.LayerId == 1); displayComboBoxFrom1.ItemsSource = resultsFrom1; } if (e.IdentifyResults.Any(r => r.LayerId == 2)) { var resultsFrom2 = e.IdentifyResults.Where(r => r.LayerId == 2); displayComboBoxFrom2.ItemsSource = resultsFrom2; }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.