根据 ObjectListView 中行对象的类型在列上显示图像或文本

Show Image or Text on a column depending on the type of the rowobject in ObjectListView

我正在使用可以包含两种不同类型对象的 FastObjectListView。它可以是 Testaction 类型或 Milestone 类型的对象。如果它是类型 Testaction 的对象,则有一个名为 Successful 的 属性,我决定在其上显示绿色还是红色图像。如果对象来自 Milestone 类型,则有一个 属性 Result,它是一个 %-Number。现在我希望能够在同一列中显示图像或那个 %-number。

this.olvColumn9.ImageGetter = delegate(object rowObject)
        {
                Testaction action = rowObject as Testaction;
                if (action.Successful)
                {
                    return 0;
                }
                else
                {
                    return 1;
                }
        };

这是将图像设置到列中。图像存储在 ImageList 中。但我只是不知道如何将文本设置到列中,如果它不是来自类型 Testaction

如有任何帮助,我将不胜感激。

放松

如果对象类型是 Milestone,它应该从 ImageGetter 处理程序到 return NULL,从列的 AspectGetter 到 return 相应的字符串。

类似这样(未检查代码的语法和功能):

this.olvColumn9.ImageGetter = delegate(object rowObject) {
    if (rowObject is Testaction) {
        Testaction action = rowObject as Testaction;
            if (action.Successful) {
                return 0;
            } else {
                return 1;
            }
    } else {
        return null;
    }
};

this.olvColumn9.AspectGetter = delegate(object rowObject) {
    if (rowObject is Milestone) {
        return ((Milestone)rowObject).Result.ToString();
    }
};