2012-10-13 4 views
0

"items (Item_desc, quantity, unit_price)"테이블을 표시하는 datagridview가 있습니다.DataGrid의 행 색상 변경

난 양의 값 (10)이

이 사람이 나를 도울 수 말하는 것보다 적은 행의 색상을 변경해야합니까?

답변

0

사용이 코드 :

foreach(DataGridViewRow dgvr in dgv.Rows) 
{ 
    int quantity=int32.Parse(dgv.Cells[10].Value.ToString()) ; 
    if(quantity <10) 
    { 
     ..... 
    } 
} 
+0

wpf의 datagrid에는 "행"속성이 없습니다. 대신에 무엇을 사용해야합니까? –

+0

죄송합니다. winForm.this 링크는 당신을 도울 것입니다 : http : //www.codeproject.com/Questions/162833/how-to-get-datagrid-particular-cell-value-in-wpf –

0

이 클래스의 속성을 만들기 IsQuantityLessThanTen 말과하는 bakground 행을 변경 (DataGridRow의 스타일에서) 트리거의 것을 사용합니다.

또한 속성을 만들지 않으려는 경우에 대비하여 ValueConverter을 사용할 수 있습니다. 이상적으로 이것이 수행되어야하는 방법입니다. 수량 프로 시저가 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> 
+0

저는 wpf에 처음입니다. 그러한 속성 메소드를 사용한 적이 없다. 다른 방법이 있습니까? –

+0

DataGrid의 ItemsSource 란 무엇입니까? –

+0

나는 itemsource로 datatable을 사용하고 있습니다. datatable은 sqldataadapter를 사용하여 채워집니다. –