我正在使用XtraTreeList.TreeList來顯示分層數據。數據存儲在實現DevExpress.XtraTreeList.TreeList.IVirtualTreeListData的自定義業務對象中。如何從XtraTreeList.TreeList中的節點檢索數據?
雖然列「名稱」的數據被正常地顯示,通過下面的代碼retirieved:
public void VirtualTreeGetCellValue(DevExpress.XtraTreeList.VirtualTreeGetCellValueInfo info)
{
if (info.Column.FieldName == "Name")
info.CellData = root.providers[provGroup.Key];
if (info.Column.FieldName == "ImageIndex")
info.CellData = imageIndex;
}
我在爲節點提供適當的圖像索引遇到了困難。
簡而言之,我不知道如何提供它。我曾嘗試在設定的TreeList到ImageIndexFieldName「圖像索引」和處理CustomDrawNodeImages事件是這樣的:
void BoundTree_CustomDrawNodeImages(object sender, DevExpress.XtraTreeList.CustomDrawNodeImagesEventArgs e)
{
e.StateImageIndex = e.StateImageIndex = (int)(e.Node.GetValue("ImageIndex")??-1);
e.Handled = false;
}
但是這不會產生任何結果。
我想要做的是檢索我的對象實現與節點對應的IVirtualTreeListData,但是怎麼做到這一點?在文檔中,建議使用Node.GetValue(column)從節點檢索數據,但是當它被執行時,IVirtualTreeListData.VirtualTreeGetCellValue不會被調用。看起來,節點只填充一次與列對應的數據,然後業務對象不再使用(好吧,也許數據也被設置,但在我的情況下不是這樣)。
我將不勝感激任何見解。