<UserControl x:Class="ArcGISSilverlightSDK.QueryWithoutMap"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:esri="http://schemas.esri.com/arcgis/client/2009"
xmlns:slData="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas x:Name="ResultsDisplayCanvas" HorizontalAlignment="Center" VerticalAlignment="Top" Width="547" Height="200" Margin="0,30,0,0" >
<Rectangle Stroke="Gray" RadiusX="10" RadiusY="10" Fill="#77919191" Canvas.Left="0" Canvas.Top="0" Width="547" Height="200" >
<Rectangle.Effect>
<DropShadowEffect/>
</Rectangle.Effect>
</Rectangle>
<Rectangle Fill="#FFFFFFFF" Stroke="DarkGray" RadiusX="5" RadiusY="5" Canvas.Left="10" Canvas.Top="20" Width="530" Height="170" />
<TextBlock x:Name="DataDisplayTitle" Text="Using Query tasks without maps" Foreground="White" FontSize="9" Canvas.Left="10" Canvas.Top="4" FontWeight="Bold" />
<StackPanel Orientation="Horizontal" Margin="5,0,15,0" Canvas.Top="25" >
<TextBlock Text="US State Name contains:" Margin="10,0,0,0" VerticalAlignment="Center"/>
<TextBox x:Name="StateNameTextBox" Text="New" Height="23" HorizontalAlignment="Left" VerticalAlignment="Center" Width="125" TextWrapping="NoWrap"
Margin="10,0,10,0" FontSize="12" Background="White" AcceptsReturn="False" />
<Button Content="Do Query" Width="75" VerticalAlignment="Center" HorizontalAlignment="Right" Click="QueryButton_Click" Margin="0,0,10,0" Cursor="Hand" />
</StackPanel>
<slData:DataGrid x:Name="QueryDetailsDataGrid" AutoGenerateColumns="False" HeadersVisibility="Column" Background="White"
IsReadOnly="True" Canvas.Left="10" Canvas.Top="50" Height="140" Width="530"
HorizontalScrollBarVisibility="Hidden">
<slData:DataGrid.Columns>
<slData:DataGridTextColumn Width="85" Binding="{Binding Attributes[STATE_NAME]}" Header="State Name"/>
<slData:DataGridTextColumn Width="110" Binding="{Binding Attributes[SUB_REGION] }" Header="Region"/>
<slData:DataGridTextColumn Width="45" Binding="{Binding Attributes[STATE_FIPS] }" Header="FIPS"/>
<slData:DataGridTextColumn Width="85" Binding="{Binding Attributes[STATE_ABBR] }" Header="Abbreviation"/>
<slData:DataGridTextColumn Width="103" Binding="{Binding Attributes[POP2000] }" Header="Population 2000"/>
<slData:DataGridTextColumn Width="102" Binding="{Binding Attributes[POP2007] }" Header="Population 2007"/>
</slData:DataGrid.Columns>
</slData:DataGrid>
</Canvas>
</Grid>
</UserControl>
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using ESRI.ArcGIS.Client;
using ESRI.ArcGIS.Client.Tasks;
namespace ArcGISSilverlightSDK
{
public partial class QueryWithoutMap : UserControl
{
public QueryWithoutMap()
{
InitializeComponent();
}
void QueryButton_Click(object sender, RoutedEventArgs e)
{
QueryTask queryTask =
new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5");
queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;
queryTask.Failed += QueryTask_Failed;
ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
query.Text = StateNameTextBox.Text;
query.OutFields.Add("*");
queryTask.ExecuteAsync(query);
}
void QueryTask_ExecuteCompleted(object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs args)
{
FeatureSet featureSet = args.FeatureSet;
if (featureSet != null && featureSet.Features.Count > 0)
QueryDetailsDataGrid.ItemsSource = featureSet.Features;
else
MessageBox.Show("No features returned from query");
}
private void QueryTask_Failed(object sender, TaskFailedEventArgs args)
{
MessageBox.Show("Query execute error: " + args.Error);
}
}
}