【发布时间】:2014-01-17 02:37:18
【问题描述】:
在我的订单DataGrid 中,我需要更改其中客户在集合中多次存在的行的背景颜色。
在上面的DataGrid 中,我希望 Jimmy 的订单以黄色显示,因为 Jimmy 有多个订单。
这就是我填充DataGrid的方式:
var people = new List<Person>()
{
new Person{CustName = "Jimmy", CustNum = 1, OrderNumber = "1111", OrederDate = DateTime.Now.AddDays(Helpers.GetRandom(1,10))},
new Person{CustName = "Alex", CustNum = 5, OrderNumber = "2222", OrederDate = DateTime.Now.AddDays(Helpers.GetRandom(1,10))},
new Person{CustName = "Jimmy", CustNum = 1, OrderNumber = "3333", OrederDate = DateTime.Now.AddDays(Helpers.GetRandom(1,10))},
new Person{CustName = "Robert", CustNum = 7, OrderNumber = "4444", OrederDate = DateTime.Now.AddDays(Helpers.GetRandom(1,10))}
};
dgOrders.ItemsSource = people;
还有XAML:
<DataGrid x:Name="dgOrders" CanUserAddRows="False" CanUserDeleteRows="False"
CanUserReorderColumns="True" AutoGenerateColumns="False"
VerticalScrollBarVisibility="Visible" Height="250">
<DataGrid.Columns>
<DataGridTextColumn Header="Customer Number" Binding="{Binding CustNum}" Width="Auto"/>
<DataGridTextColumn Header="Customer Name" Binding="{Binding CustName}" Width="*"/>
<DataGridTextColumn Header="Order Number" Binding="{Binding OrderNumber}" Width="Auto"/>
<DataGridTextColumn Header="Date" Binding="{Binding OrederDate, StringFormat=\{0:dd/MM/yyyy\}}" Width="Auto"/>
</DataGrid.Columns>
</DataGrid>
【问题讨论】: