0

我有一个显示表格“项目(Item_desc,数量,unit_price)”的datagridview。

我需要更改数量值小于 10 的行的颜色。

谁能帮我这个?

4

2 回答 2

0

使用此代码:

foreach(DataGridViewRow dgvr in dgv.Rows)
{
    int  quantity=int32.Parse(dgv.Cells[10].Value.ToString()) ;
    if( quantity <10)
    {
        .....
    }
}
于 2012-10-13T05:55:20.760 回答
0

在你的类中创建一个属性,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>
于 2012-10-13T08:11:30.703 回答