private void sectionDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (sectionDataGrid.SelectedIndex > -1)
{
MyMap.ZoomTo(sectionDataGrid.SelectedGraphics[0].Geometry);
string wLiner = sectionDataGrid.SelectedGraphics[0].Attributes["SECTION"].ToString();
..... other code here....
}
private void sectionDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (sectionDataGrid.SelectedIndex > -1)
{
MyMap.ZoomTo(sectionDataGrid.SelectedGraphics[0].Geometry);
string wLiner = sectionDataGrid.SelectedGraphics[0].Attributes["SECTION"].ToString();
LayerDefinition lDef = new LayerDefinition();
lDef.LayerID = 0;
lDef.Definition = "CitySection = '" + wLiner + "'";
LayerDefinition pDef = new LayerDefinition();
pDef.LayerID = 1;
pDef.Definition = "CITYSECT = '" + wLiner + "'";
LayerDefinition bDef = new LayerDefinition();
bDef.LayerID = 2;
bDef.Definition = "SECTION = '" + wLiner + "'";
ObservableCollection<LayerDefinition> oc = new ObservableCollection<LayerDefinition>();
oc.Add(lDef);
oc.Add(pDef);
oc.Add(bDef);
ArcGISDynamicMapServiceLayer l = MyMap.Layers["Liner"] as ArcGISDynamicMapServiceLayer;
l.LayerDefinitions = oc;
l.Refresh();
if (l.Visible == false) l.Visible = true;
}
<esri:FeatureDataGrid x:Name="sectionDataGrid"
Grid.Row="0" FontSize="8"
Map="{Binding ElementName=MyMap}"
GraphicsLayer="{Binding ElementName=MyMap, Path=Layers.[Sections]}"
SelectionChanged="sectionDataGrid_SelectionChanged"/>
private void sectionDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (sectionDataGrid.SelectedIndex > -1)
{
DataGridColumn d = sectionDataGrid.Columns[0];
FrameworkElement fe = d.GetCellContent(sectionDataGrid.SelectedItem);
TextBlock tb = fe as TextBlock;
string wLiner = tb.Text.ToString();
QueryTask qt = new QueryTask("http://pslgis.cityofpsl.com/ArcGIS/rest/services/LinerProjectSections/MapServer/0");
Query q = new Query();
q.Where = "SECTION = '" + wLiner + "'";
q.ReturnGeometry = true;
q.OutSpatialReference = MyMap.SpatialReference;
qt.ExecuteCompleted += qt_ExecuteCompleted;
qt.ExecuteAsync(q);
LayerDefinition lDef = new LayerDefinition();
lDef.LayerID = 0;
lDef.Definition = "CitySection = '" + wLiner + "'";
LayerDefinition pDef = new LayerDefinition();
pDef.LayerID = 1;
pDef.Definition = "CITYSECT = '" + wLiner + "'";
LayerDefinition bDef = new LayerDefinition();
bDef.LayerID = 2;
bDef.Definition = "SECTION = '" + wLiner + "'";
ObservableCollection<LayerDefinition> oc = new ObservableCollection<LayerDefinition>();
oc.Add(lDef);
oc.Add(pDef);
oc.Add(bDef);
ArcGISDynamicMapServiceLayer l = MyMap.Layers["Liner"] as ArcGISDynamicMapServiceLayer;
l.LayerDefinitions = oc;
l.Refresh();
if (l.Visible == false) l.Visible = true;
}
}
private void qt_ExecuteCompleted(object sender, QueryEventArgs e)
{
MyMap.ZoomTo(e.FeatureSet.Features[0].Geometry);
}