根据 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();
}
};
我正在使用可以包含两种不同类型对象的 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();
}
};