XtraTreeList — как сбросить значение Unbound Boolean Cell на неопределенное?

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

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

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

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

Я пытался:

treeListNode[columnID] = null;

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

Также:

treeListNode[columnID] = DefaultBoolean.Default;

и:

treeListNode[columnID] = CheckState.Indeterminate;

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

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


person Rachel    schedule 30.08.2011    source источник


Ответы (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;
    }
}
person WorldIsRound    schedule 14.03.2012
comment
К сожалению, я не могу это проверить, потому что я больше не работаю над проектом, и лично у меня нет программного обеспечения DevExpress. Тем не менее, спасибо за ваш вклад. - person Rachel; 15.03.2012

пытаться:

treeListNode[columnID] = DBNull.Value

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

person Davide Piras    schedule 30.08.2011
comment
Спасибо за отзыв. Однако это тоже не работает. Появляется окно сообщения об ошибке с сообщением: Объект не может быть преобразован из DBNull в другие типы. До сих пор единственный способ обойти это — удалить весь столбец и создать его заново. - person Rachel; 30.08.2011