动态绑定到数据网格时的问题
本文关键字:问题 网格 数据网 数据 动态绑定 | 更新日期: 2023-09-27 18:08:56
好的,我有一个奇怪的小问题,希望有人能帮助我。
为了设置场景,我首先有一个对象:
public class Date
{
public DateTime _WeekDate;
public ICollectionView _WeekData;
}
我有一个显示Date对象列表的组合框。
<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>
这一切都工作得很好,因为我从组合框中选择了不同的选项,数据网格改变了它的itemssource。
但是,数据网格为我的WeekData项中的每个值在我指定的列之上添加了一个额外的列。因此,使用我所展示的示例,它将显示3列reqID, lineID和OrderID,以及另外3列完全相同的内容,因此总共6列。
任何帮助都是感激的,我对这个问题真的很挠头。
提前感谢,SumGuy .
关闭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>
您是否尝试将您的DataGrid的AutoGenerateColumns属性设置为false?我想这会解决你的问题。