0

OK I have a weird little issue I hope someone can help me with.

To set the scene, I first of all have an object:

public class Date
{
    public DateTime _WeekDate;
    public ICollectionView _WeekData;
}

I have a combobox which displays a list of the Date objects.

<ComboBox Name="cbPickupDate" ItemsSource="{Binding Path=PickupDates}" DisplayMemberPath="WeekDate" />

OK, now I take the selected date object's collection to provide an itemssource for my datagrid:

<my:DataGrid ItemsSource="{Binding ElementName=cbPickupDate, Path=SelectedItem.WeekData}">
    <my:DataGrid.Columns>
        <my:DataGridTextColumn Binding="{Binding Path=ReqID}" Header="Request ID" />
        <my:DataGridTextColumn Binding="{Binding Path=LineID}" Header="Line ID" />
        <my:DataGridTextColumn Binding="{Binding Path=OrderID}" Header="Order ID" />
    </my:DataGrid.Columns>
</my:DataGrid>

This all works very nicely, as I choose different options from the combobox the datagrid changes it's itemssource.

However, the datagrid adds an extra column for each value within my WeekData item on top of the ones I have specified. So using the example I've shown it would display 3 columns of reqID, lineID and OrderID and 3 more columns of exactly the same thing, so 6 in total.

Any help is appreciated, I'm really scratching my head over this one.

Thanks in advance, SumGuy.

SumGuy
  • 491
  • 5
  • 8
  • 22

2 Answers2

1

Have you tried to set the property AutoGenerateColumns of your DataGrid to false? I think that will solve your problem.

MatthiasG
  • 4,434
  • 3
  • 27
  • 47
1

Turn off AutoGenerateColumns

<my:DataGrid ItemsSource="{Binding ElementName=cbPickupDate, Path=SelectedItem.WeekData}"
             AutoGenerateColumns="False">
    <my:DataGrid.Columns>
        <my:DataGridTextColumn Binding="{Binding Path=ReqID}" Header="Request ID" />
        <my:DataGridTextColumn Binding="{Binding Path=LineID}" Header="Line ID" />
        <my:DataGridTextColumn Binding="{Binding Path=OrderID}" Header="Order ID" />
    </my:DataGrid.Columns>
</my:DataGrid>
msarchet
  • 15,104
  • 2
  • 43
  • 66