ObjectListView 方面名称作为其他对象 属性
ObjectListView aspect name as other object property
我是 ObjectListView 的新手,我还没有找到如何使用模型中对象的 属性 作为 ObjectListView 的 AspectName。
例如,列表将显示汽车名称及其车主姓名
public class Person
{
private string _name;
public string Name
{
get => _name;
set => _name = value;
}
}
public class Car
{
private Person _owner;
private string _name;
public Person Owner
{
get => _owner;
set => _owner = value;
}
public string Name
{
get => _name;
set => _name = value;
}
}
如果我将列的 AspectName 设置为 Owner.Name,它不会在列表中显示任何内容。我做了一个在 Car 模型中定义 属性 OwnerName 的小解决方法,但我有更复杂的模型,必须定义 属性.
很痛苦
有什么办法可以做到吗?
谢谢
根据您所说的,这应该可行。所以一定是有其他问题导致了这个问题。
您可以尝试以编程方式设置 AspectGetter,例如这样;
this.olvColumn2.AspectGetter = delegate (Object obj)
{
Car car = (Car)obj;
if (car == null)
return "Unknown";
else
return car.Owner.Name;
};
然后您可以在此代码中放置一个断点,然后查看 when/if 它被调用以及发生了什么。
请记住,在调用 objectListView1.SetObjects
之前,您必须 define/set 所有方面的 getter 等
我是 ObjectListView 的新手,我还没有找到如何使用模型中对象的 属性 作为 ObjectListView 的 AspectName。
例如,列表将显示汽车名称及其车主姓名
public class Person
{
private string _name;
public string Name
{
get => _name;
set => _name = value;
}
}
public class Car
{
private Person _owner;
private string _name;
public Person Owner
{
get => _owner;
set => _owner = value;
}
public string Name
{
get => _name;
set => _name = value;
}
}
如果我将列的 AspectName 设置为 Owner.Name,它不会在列表中显示任何内容。我做了一个在 Car 模型中定义 属性 OwnerName 的小解决方法,但我有更复杂的模型,必须定义 属性.
很痛苦有什么办法可以做到吗?
谢谢
根据您所说的,这应该可行。所以一定是有其他问题导致了这个问题。
您可以尝试以编程方式设置 AspectGetter,例如这样;
this.olvColumn2.AspectGetter = delegate (Object obj)
{
Car car = (Car)obj;
if (car == null)
return "Unknown";
else
return car.Owner.Name;
};
然后您可以在此代码中放置一个断点,然后查看 when/if 它被调用以及发生了什么。
请记住,在调用 objectListView1.SetObjects