XtraTreeList - Как я могу сбросить значение Unbound Boolean Cell на Indeterminate?

У меня есть XtraTreeList с UnboundColumn типа Boolean, то есть:

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

Первоначально все CheckEdits отображаются серым цветом в неопределенном состоянии, и их значение равно NULL.

Можно ли как-то сбросить значения определенных флажков в это состояние неопределенности?

Я пытался:

treeListNode[columnID] = null;

но появляется сообщение об ошибке с сообщением: "Нулевой объект не может быть преобразован в тип значения".

Также:

treeListNode[columnID] = DefaultBoolean.Default;

а также:

treeListNode[columnID] = CheckState.Indeterminate;

но оба устанавливают значение ячейки в True.

Любая помощь приветствуется.

2 ответа

Не уверен, поможет ли это вам, но другой подход, который вы можете попробовать, - установить несвязанный тип столбца для объекта, а затем восстановить его.

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;
    }
}

Пытаться:

treeListNode[columnID] = DBNull.Value

но я не уверен, что это работает, в конце концов мы должны установить состояние CheckEdit вручную.

Другие вопросы по тегам