我有一个XtraTreeList,其UnboundColumn类型为Boolean,即:
column.UnboundType = DevExpress.XtraTreeList.Data.UnboundColumnType.Boolean;
最初,所有CheckEdits在Indeterminate State中显示为“灰色”,其值为Null。
有什么办法可以将特定复选框的值重置为此Indeterminate状态吗?
我试过了:
treeListNode[columnID] = null;
但会弹出一个错误消息框,并显示以下消息:“无法将Null对象转换为值类型。”
另外:
treeListNode[columnID] = DefaultBoolean.Default;
和:
treeListNode[columnID] = CheckState.Indeterminate;
但都将单元格的值设置为True。
非常感谢任何帮助。
答案 0 :(得分:1)
不确定这是否仍然对您有所帮助,但您可以尝试的另一种方法是将未绑定的列类型设置为object并稍后将其还原。
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;
}
}
答案 1 :(得分:0)
尝试:
treeListNode[columnID] = DBNull.Value
但我不确定它是否有效,最终我们必须手动设置CheckEdit的状态。