Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

WPF datagrid comboboxcolumn with different source than the binding

$
0
0

I want to bind over the comboboxcolumn from 2 ways, one for the entries, and one for the values.

Anyone knows how to acheve that?

Thanks

Here is what I try to do and the bad results.

<DataGrid Name="dgCities" Grid.Column="1" CanUserAddRows="True" ItemsSource="{Binding}"><DataGrid.Columns><DataGridComboBoxColumn Header="Country" x:Name="ccCountry"
                                        DisplayMemberPath="Name"
                                        SelectedValuePath="Id"
                                        SelectedValueBinding="{Binding Id, Mode=TwoWay}" 
                                        SelectedItemBinding="{Binding CountryId, Mode=OneWay}" /><DataGridComboBoxColumn Header="State" x:Name="ccState"
                                        DisplayMemberPath="Name"
                                        SelectedValuePath="StateId"
                                        SelectedValueBinding="{Binding Id, Mode=TwoWay}" /><DataGridComboBoxColumn Header="City" x:Name="ccCity"
                                        DisplayMemberPath="Name"
                                        SelectedValuePath="CityId"
                                        SelectedValueBinding="{Binding Id, Mode=TwoWay}" /></DataGrid.Columns></DataGrid>


DatingDataClassesDataContext dataContext = new DatingDataClassesDataContext();
            var vCountries = (from c in dataContext.Countries
                              select c).ToList();
            ccCountry.ItemsSource = vCountries;
            var vStates = (from c in dataContext.States
                              select c).ToList();
            ccState.ItemsSource = vStates;
            var vCities = (from c in dataContext.Cities
                              select c).ToList();
            ccCity.ItemsSource = vCities;
            var vCitiesWithStateAndCountry = (from c in dataContext.Cities
                                              join s in dataContext.States
                                              on c.StateID equals s.ID
                                              join co in dataContext.Countries
                                              on s.CountryID equals co.ID
                                              select new
                                              {
                                                  CountryId = co.ID,
                                                  StateId = s.ID,
                                                  CityId = c.ID
                                              }
                                                  ).ToList();
            dgCities.ItemsSource = vCitiesWithStateAndCountry;
            dataContext.Dispose();


Bernard Lessard


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>