2011-08-30 2 views
2

본인은 불확정 상태에서, Boolean 형의 UnboundColumn과 XtraTreeList, 즉 :XtraTreeList - 언 바운드 부울 셀의 값을 불확정 값으로 재설정하려면 어떻게해야합니까?

column.UnboundType = DevExpress.XtraTreeList.Data.UnboundColumnType.Boolean; 

처음에는 모든 CheckEdits가 표시되는 '회색'을 가지고 있고, 그 값은 NULL입니다.

특정 불확정 상태로 특정 확인란의 값을 다시 설정할 수있는 방법이 있습니까?

treeListNode[columnID] = null; 

하지만 오류 메시지 상자는 메시지와 함께, 팝업 :

나는 노력했다. "널 객체가 값 형식으로 변환 할 수 없습니다" 또한

:

treeListNode[columnID] = DefaultBoolean.Default; 

과 :

treeListNode[columnID] = CheckState.Indeterminate; 

하지만 모두 True로 셀의 값을 설정합니다.

도움을 주시면 감사하겠습니다.

답변

0

시도 :

treeListNode[columnID] = DBNull.Value 

하지만 작동 확실하지 않다, 결국 우리가 수동으로 CheckEdit의 상태를 설정해야합니다.

+0

감사합니다. 그러나, 그것도 작동하지 않습니다. Error MessageBox는 "개체를 DBNull에서 다른 형식으로 캐스팅 할 수 없습니다."라는 메시지와 함께 나타납니다. 지금까지 해결할 수 있었던 유일한 방법은 전체 열을 삭제하고 다시 만들 수 있습니다. – Rachel

1

그래도 여전히 도움이되는지 확신 할 수 없지만 바인딩 할 수없는 열 유형을 개체로 설정 한 다음 나중에 복원하는 것이 좋습니다.

foreach (var column in treeListNode.Columns) 
{ 
    var tc= column as TreeListColumn; 
    if (tc!= null && tc.Name == columnID) 
    { 
     var originalType = tc.UnboundType; 
     tc.UnboundType = UnboundColumnType.Object; 
     treeListNode[columnID] = null;        
     tc.UnboundType = originalType; 
     break; 
    } 
} 
+0

불행하게도 프로젝트에서 더 이상 일하지 않기 때문에 이것을 확인할 수 없으며 개인적으로 DevExpress 소프트웨어를 가지고 있지 않습니다. 그래도 입력 해 주셔서 감사합니다. – Rachel

관련 문제