0
我有一個項目列表,我想綁定到我的ObjectListView,我認爲需要使用AspectGetter來實現這一點。我會如何去做這件事?AspectGetter從列表中獲取對象
我曾經嘗試這樣做產生額外的列,但我仍然無法將數據綁定到顯示列表項
int count = 0;
foreach (var disk in vmObject.DisksList)
{
// create column with vhd+count
OLVColumn diskColumn = new OLVColumn("Attached VHD " + count, disk.Path);
// this lets you handle the model object directly
diskColumn.AspectGetter = delegate(object rowObject)
{
// check if that is the expected model type
if (rowObject is Model.HyperVTools.VMInfo)
{
// return the value of disklist
return ((Model.HyperVTools.VMInfo)rowObject).DisksList;
}
else
{
return "";
}
};
columnsList.Add(diskColumn);
count++;
}
objectListView2.Columns.AddRange(columnsList.Cast<System.Windows.Forms.ColumnHeader>().ToArray());
objectListView2.AddObject(vmObject);
我正在通過教程再次看,我仍然困惑我將如何在我的代碼中使用它。我做foreach循環的原因是爲VHD創建額外的列,希望我能夠按每列顯示特定的VHD信息。 – KPS
我不確定你試圖完成什麼。你在混合列和行嗎?如果你在每個「行」中包含「count」,也許會有所幫助,但是我不明白爲什麼要這樣初始化'column'頭並像現在這樣添加多列。 –
虛擬機信息將以行爲單位顯示,每個虛擬機將具有附加VHD的X個計數。我將這些VHD存儲在列表中,我試圖在新列中顯示此信息,但不知道如何使用適當的AspectName生成適當的列。希望這是有道理的 –
KPS