2010-03-10 2 views
1

하나의 열로 채워지는 GridControl 뷰에 값을 체크 상자로 표시하는 불리언 값이 있습니다.C# DevExpress에 대한 도움말 XtraGrid GridControl - 셀에 보이지 않는 체크 박스 만들기

그러나 다른 열의 상태에 따라 일부 확인란을 숨기려고합니다. gridView_CustomDrawCell() 이벤트를 사용하려고했지만 적절한 속성을 찾을 수 없습니다.

visible 속성을 false로 설정할 수 있지만 1 개가 아닌 것으로 예상됩니다.

보기가 채워질 때 확인란을 숨길 수는 있지만 생각할 수 없습니다.

가능하다면 어떻게 알 수 있습니까?

감사합니다.

답변

4

당신은 처리로 이벤트를 Graphics을 취소하고 표시하기 위해 시도 할 수 :

private void gridView_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e) 
{ 
    if (ConditionIsMet()) 
    { 
     e.Graphics.Clear(e.Appearance.BackColor); 
     e.Handled = true; 
    } 
} 

작동하지 않는 경우, 여기에 다른 생각하십시오 CustomRowCellEditCustomRowCellEditForEditing 이벤트를 처리하고 편집기 제거 :

private void gridView_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) 
{ 
    if (ConditionIsMet()) 
    { 
     e.RepositoryItem = null; 
    } 
} 
+0

+1 CustomRowCellEditForEditing 이벤트 사용. –

+0

와우, 나는이 제품을 3 년 이상 사용해 왔으며'RepositoryItem'을'null'로 설정할 수 있다는 것을 결코 깨닫지 못했습니다. 나는 항상 비활성화 된 편집자를 위해 기본 항목을 만들었습니다. 이렇게하면 시간이 절약됩니다! – Aaronaught

+0

@Aaronaught, 이것이 실제로 작동하는지 모르겠다. 단지 제안 일 뿐이다.) –

4

프로젝트에서이 작업을 수행하기 위해 RadioGroup을 항목이없는 컨트롤로 설정하여 비어있는 것으로 표시했습니다.

private void viewTodoList_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) 
     { 
      if (e.Column == CheckMarkColumn) 
      { 
       if (ConditionIsMet()) 
       { 
        e.RepositoryItem = new DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup(); 
       } 
      } 
     } 
관련 문제