【发布时间】:2011-09-19 15:00:36
【问题描述】:
好的,我有一个奇怪的小问题,希望有人能帮助我。
为了设置场景,我首先有一个对象:
public class Date
{
public DateTime _WeekDate;
public ICollectionView _WeekData;
}
我有一个显示日期对象列表的组合框。
<ComboBox Name="cbPickupDate" ItemsSource="{Binding Path=PickupDates}" DisplayMemberPath="WeekDate" />
好的,现在我使用所选日期对象的集合来为我的数据网格提供 itemssource:
<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>
这一切都很好,因为我从组合框中选择了不同的选项,数据网格改变了它的项目源。
但是,数据网格为我的 WeekData 项目中的每个值添加了一个额外的列,并在我指定的值之上。因此,使用我展示的示例,它将显示 3 列 reqID、lineID 和 OrderID 以及另外 3 列完全相同的内容,因此总共 6 个。
感谢您的帮助,我真的为这个而摸不着头脑。
提前致谢, SumGuy。
【问题讨论】:
-
我假设你有 autogeneratecolumns=false :)
-
天哪,亲爱的,当您知道如何操作时,一切都变得非常简单。这确实是问题,谢谢。
标签: c# wpf data-binding datagrid itemsource