DevExpress TreeList не отображает дочерние узлы и вместо этого отображается как корневые узлы

У меня есть TreeList чтение из List(Of LedgerAccountEntry)(),

Public Class LedgerAccountEntry
    Public Property LedgerAccountSys() As Integer 
    Public ParentLedgerAccountSys As Integer
    '
    '
    ' ETC
End Class

В форме загрузки:

tlLedgerAccounts.ParentFieldName = "ParentLedgerAccountSys"
tlLedgerAccounts.KeyFieldName = "LedgerAccountSys"
tlLedgerAccounts.RootValue = -1

Позже:

While bla
    entry.LedgerAccountSys = rstAccounts("LedgerAccountSys").Value
    entry.ParentLedgerAccountSys = IIf(rstAccounts("ParentLedgerAccountSys").Value Is DBNull.Value, -1, rstAccounts("ParentLedgerAccountSys").Value)
    lst.add(entry)
End While            
tlLedgerAccounts.DataSource = lst

Это только соответствующие части. Пожалуйста, дайте мне знать, если вам нужно больше информации.

В результате получилось плоское дерево без дочерних узлов, я проверил, что идентификаторы существуют и возвращаются правильно.

1 ответ

Решение

Это потому, что вы используете ParentLedgerAccountSys как поле. Вам нужно конвертировать ваши ParentLedgerAccountSys в собственность или добавить другое свойство, которое представляет ваш ParentLedgerAccountSys поле.
Вот пример:

Public Class LedgerAccountEntry
    Public Property LedgerAccountSys As Integer
    'Public ParentLedgerAccountSys As Integer <-- Here is field.
    Public Property ParentLedgerAccountSys As Integer '<-- Here is property instead of field.
    '
    '
    ' ETC
End Class
Другие вопросы по тегам