Reputation: 7390
I can't connect properly my dataSet (from EF) with WPF datagrid. My issue is that my datagrid shows :
Here is my code :
<DataGrid Name="dataGridDomaines" Grid.Row="4" IsReadOnly="True" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Nom Domaine" Width="300" Binding="{Binding Path=NomDomaine}"></DataGridTextColumn>
<DataGridTextColumn Header="N° Inter" Width="100" Binding="{Binding Path=idOpérateur}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
And :
private void Rechercher(string elementARechercher){
using (CaveAVinContext ctx = new CaveAVinContext())
{
//recherche des domaines
var domaines = ctx.Domaines
.Where(a => a.NomDomaine.Contains(elementARechercher))
.ToList();
dataGridDomaines.ItemsSource = domaines;
lblDomaines.Content = "Domaine(s) : " + domaines.Count + " resultat(s)";
}
}
What's wrong ?
Upvotes: 1
Views: 307
Reputation: 15247
By default, the AutoGenerateColumns
property of a DataGrid
is true, which will cause it to append all of the columns to the end of whatever you've specified directly.
Just set that to false and you should be good to go.
<DataGrid Name="dataGridDomaines" Grid.Row="4"
IsReadOnly="True" ItemsSource="{Binding}"
AutoGenerateColumns="false">
<DataGrid.Columns>
<DataGridTextColumn Header="Nom Domaine" Width="300" Binding="{Binding Path=NomDomaine}"></DataGridTextColumn>
<DataGridTextColumn Header="N° Inter" Width="100" Binding="{Binding Path=idOpérateur}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Upvotes: 2
Reputation: 4808
Set Datagrid
Autogeneratecolumns
to False
.
* Note that The default value for this property is True
.
Upvotes: 1