我有一个显示表格“项目(Item_desc,数量,unit_price)”的datagridview。
我需要更改数量值小于 10 的行的颜色。
谁能帮我这个?
使用此代码:
foreach(DataGridViewRow dgvr in dgv.Rows)
{
int quantity=int32.Parse(dgv.Cells[10].Value.ToString()) ;
if( quantity <10)
{
.....
}
}
在你的类中创建一个属性,IsQuantityLessThanTen
并在你的触发器中使用它(在 DataGridRow 的样式中)来更改 bakground 行。
此外,如果您不想创建属性,可以使用ValueConverter 。理想情况下,应该这样做,否则PropertyChanged
每当 Quantity 属性发生更改时,您必须显式地为您的属性提高属性以将其反映在 UI 上。
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>