Feature Data Grid

This sample demonstrates using the ESRI.ArcGIS.Client.Toolkit FeatureDataGrid to view and edit attributes associated with an ArcGISLocalFeatureLayer.

To use the sample, edit values in the data grid. When finished, click the Commit button to save to the database.

Download Sample Application
XAML C# VB.NET
<UserControl x:Class="ArcGISWPFSDK.LocalToolkitFeatureDataGrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:basics="http://schemas.microsoft.com/wpf/2008/toolkit"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    xmlns:esri="http://schemas.esri.com/arcgis/client/2009">
    <Grid Background="White">
        <Grid.Resources>
            <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
            <LinearGradientBrush x:Key="PanelGradient" EndPoint="0.5,1" StartPoint="0.5,0">
                <LinearGradientBrush.RelativeTransform>
                    <TransformGroup>
                        <ScaleTransform CenterY="0.5" CenterX="0.5"/>
                        <SkewTransform CenterY="0.5" CenterX="0.5"/>
                        <RotateTransform Angle="176" CenterY="0.5" CenterX="0.5"/>
                        <TranslateTransform/>
                    </TransformGroup>
                </LinearGradientBrush.RelativeTransform>
                <GradientStop Color="#FF145787"/>
                <GradientStop Color="#FF3D7FAC" Offset="0.184"/>
                <GradientStop Color="#FF88C5EF" Offset="0.984"/>
            </LinearGradientBrush>
            <esri:SimpleRenderer x:Key="MySimplePointRenderer">
                <esri:SimpleRenderer.Symbol>
                    <esri:SimpleMarkerSymbol Color="Orange"/>
                </esri:SimpleRenderer.Symbol>
            </esri:SimpleRenderer>
        </Grid.Resources>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="5" />
            <RowDefinition Height="150" />
        </Grid.RowDefinitions>
        <esri:Map x:Name="MyMap" Loaded="MyMap_Loaded" WrapAround="True" Extent="-15000000,2000000,-7000000,8000000" Background="#FFE3E3E3" MinimumResolution="2445.98490512499">
            <esri:ArcGISLocalTiledLayer ID="BaseMap" Path="..\\Data\\TPKs\\Topographic.tpk"/>
            <esri:ArcGISLocalFeatureLayer ID="Cities" LayerName="Cities" 
                   Path="..\\Data\\MPKS\\USCitiesStatesEdit.mpk"  DisableClientCaching="True"  Editable="True" MouseLeftButtonUp="FeatureLayer_MouseLeftButtonUp"
                               Mode="OnDemand"  SelectionColor="#FFFFFF00" AutoSave="False" OnDemandCacheSize="0"                         
                             Renderer="{StaticResource MySimplePointRenderer}"
                    OutFields="*">
                <esri:ArcGISLocalFeatureLayer.MapTip>
                    <Border CornerRadius="10" BorderBrush="{StaticResource PanelGradient}" Background="AliceBlue" BorderThickness="3" Margin="0,0,15,15">
                        <Border.Effect>
                            <DropShadowEffect ShadowDepth="10" BlurRadius="14" Direction="300" />
                        </Border.Effect>
                        <StackPanel Margin="7">
                            <TextBlock Text="{Binding [AREANAME]}" FontWeight="Bold" Foreground="Black"  />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Population: " Foreground="Black" />
                                <TextBlock Text="{Binding [POP2007]}" Foreground="Black" />
                            </StackPanel>
                        </StackPanel>
                    </Border>
                </esri:ArcGISLocalFeatureLayer.MapTip>
            </esri:ArcGISLocalFeatureLayer>
        </esri:Map>
        <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" />
        <esri:FeatureDataGrid Grid.Row="2" x:Name="MyDataGrid" Foreground="Black" />
        <Grid HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,10,0" >
            <Rectangle Fill="{StaticResource PanelGradient}" Stroke="Gray"  RadiusX="10" RadiusY="10" Margin="0,0,0,5">
                <Rectangle.Effect>
                    <DropShadowEffect/>
                </Rectangle.Effect>
            </Rectangle>
            <Rectangle Fill="#FFFFFFFF" Stroke="DarkGray" RadiusX="5" RadiusY="5" Margin="10,10,10,15" />
            <TextBlock x:Name="ResponseTextBlock" Text="Edit values in the data grid.  When finished, click the Commit button to save to the database." 
                       Width="200" TextAlignment="Left" Margin="30,20,20,30" TextWrapping="Wrap" Foreground="Black" />
        </Grid>
        <ProgressBar x:Name="MyProgressBar" IsIndeterminate="True" VerticalAlignment="Bottom" Width="200" Height="20" Margin="10" Visibility="{Binding Path=IsBusy, Converter={StaticResource BooleanToVisibilityConverter}}"></ProgressBar>
    </Grid>
</UserControl>

Sample code usage restrictions
5/16/2014