<Border x:Name="CountyResultsDisplay" Background="#77919191" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Center" VerticalAlignment="Top" Visibility="Collapsed" Margin="5" Padding="10" BorderBrush="Black"> <Border.Effect> <DropShadowEffect/> </Border.Effect> <Grid> <Grid.RowDefinitions> <RowDefinition Height="15" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock x:Name="DataDisplayTitle" Text="Search Results" Foreground="Black" FontSize="9" Grid.Row="0" FontWeight="Bold" /> <slData:DataGrid x:Name="QueryDetailsDataGrid" Grid.Row="1" Width="Auto" Height="170" AutoGenerateColumns="False" HeadersVisibility="Column" Background="White" IsReadOnly="True" HorizontalScrollBarVisibility="Hidden" RowStyle="{StaticResource MyCustomRow}" CanUserSortColumns="True" SelectionChanged="QueryDetailsDataGrid_SelectionChanged" LoadingRow="QueryDetailsDataGrid_LoadingRow"> <slData:DataGrid.Columns> <slData:DataGridTextColumn CanUserSort="True" SortMemberPath="NAME_CNTY" Binding="{Binding Attributes[OBJECTID]}" Header="Rec"/> <slData:DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[NAME_CNTY]}" Header="County Name"/> <slData:DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[AREA_SQMI]}" Header="Area"/> <slData:DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[POP_1990]}" Header="Population 1997"/> <slData:DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[POP_2000]}" Header="Population 2000"/> <slData:DataGridTextColumn CanUserSort="True" SortMemberPath="POP2007" Binding="{Binding Attributes[FIPS_CNTY]}" Header="FIPS"/> </slData:DataGrid.Columns> </slData:DataGrid> </Grid> </Border>
int rec = 0; foreach (var feature in featureSet.Features) feature.Attributes["Rec"] = ++rec; DataGrid dg = rectangleselection.QueryDetailsDataGrid; List<string> fields = new List<string>(); dg.Columns.Clear(); //generate the first column for record index DataGridTextColumn dataGridTextColumnRec = new DataGridTextColumn(); Binding Recbinder = new Binding(); Recbinder.Path = new PropertyPath("Attributes[Rec]"); dataGridTextColumnRec.Header = "Rec"; Recbinder.Mode = BindingMode.OneWay; dataGridTextColumnRec.Binding = Recbinder; dg.Columns.Add(dataGridTextColumnRec); //generate the other columns foreach (var item in featureSet.FieldAliases) { DataGridTextColumn dataGridTextColumn = new DataGridTextColumn(); Binding binder = new Binding(); fields.Add(item.Value); //FieldAliases is a Dictionary, the field name being the key and the field alias being the value. binder.Path = new PropertyPath("Attributes[" + item.Key + "]"); dataGridTextColumn.Header = item.Value; binder.Mode = BindingMode.OneWay; dataGridTextColumn.Binding = binder; dg.Columns.Add(dataGridTextColumn); }