我有一个datagridview,显示一个表“items(Item_desc,quantity,unit_price)”。
我需要更改数量值小于10的行的颜色。
任何人都可以帮我这个吗?
答案 0 :(得分:0)
使用此代码:
foreach(DataGridViewRow dgvr in dgv.Rows)
{
int quantity=int32.Parse(dgv.Cells[10].Value.ToString()) ;
if( quantity <10)
{
.....
}
}
答案 1 :(得分:0)
在您的班级中创建一个名为IsQuantityLessThanTen
的属性,并在触发器中使用该属性(在Style of DataGridRow中)以更改bakground行。
此外,如果您不想创建属性,可以使用ValueConverter。理想情况下,这是应该如何完成的,否则只要Quantity proeprty发生变化以反映在UI上,就必须为您的属性显式提升PropertyChanged
。
public bool IsQuantityLessThanTen
{
get
{
return Quantity < 10;
}
}
<DataGrid>
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsQuantityLessThanTen}" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</ControlTemplate.Triggers>
</Style>
</DataGrid.Resources>
......
</DataGrid>