2017-09-28 1 views
1

그래서 전체 행의 특정 배경색을 설정하고 싶습니다. C# ObjectListView BackColor (Windows Forms)

은 이미 다음과 같은 코드를 구현하여이를 달성 : 의도 한대로

foreach(var model in modelList) 
      objectListView1.BackColor = model.RowColor; 
      objectListView1.AddObject(model); 

이 작동합니다. 내 모델 목록을 반복하고 할당 된 행 색상을 추가합니다. 따라서 OLV에는 2 개의 전체 행이 강조 표시되어 있습니다.

내가 마우스를 행 위로 가져 가면 문제가 다시 흰색으로 바뀝니다. 액션을 수행하고 BackColor를 기본값으로 재설정 할 때 OLV가 새로 고쳐지는 것처럼 보입니다.

어떻게 이런 일이 일어나지 않도록 할 수 있습니까?

+0

가 비활성화 가져가 기능 할 수 또는 동일한 색상을 제공 할 것입니다. 행 위에 마우스를 올리면 CSS가 활성화되고 행 색상이 변경됩니다. – nikunjM

답변

1

모델에 따라 행 색상을 영구적으로 설정하려면을 사용하십시오.

그럼 당신은 같은 것을 할 수 있습니다

private void olv1_FormatRow(object sender, FormatRowEventArgs e) { 
    e.Item.BackColor = model.RowColor; 
} 
+0

답변 해 주셔서 감사합니다. 나는 오늘 이것을 시험해 볼 것이다, 고마워! – bill5967