2011-08-30 44 views
2

我有一個布爾類型的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

謝謝您的輸入。但是,這也行不通。出現錯誤消息框,並顯示消息:「對象不能從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

相關問題