2

我有一个带有布尔类型 UnboundColumn 的 XtraTreeList,即:

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

最初,所有 CheckEdits 都显示为“灰色”,处于不确定状态,并且它们的值为 Null。

有什么方法可以将特定复选框的值重置为此不确定状态?

我努力了:

treeListNode[columnID] = null;

但是会弹出一个错误消息框,并显示消息:“Null 对象无法转换为值类型。”

还:

treeListNode[columnID] = DefaultBoolean.Default;

和:

treeListNode[columnID] = CheckState.Indeterminate;

但两者都将单元格的值设置为 True。

任何帮助将非常感激。

4

2 回答 2

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;
    }
}
于 2012-03-14T16:41:04.320 回答
0

尝试:

treeListNode[columnID] = DBNull.Value

但我不确定它是否有效,最终我们必须手动设置 CheckEdit 的状态。

于 2011-08-30T12:04:57.740 回答