如何使组头不同于NSOutlineView中的表条目

时间:2012-05-24 08:36:21

标签: cocoa nsoutlineview

有没有办法为组中的第一列使用不同的列?默认情况下,它使用与“Group Title”(具有“expand”三角形的那个)相同的组。 例如。我想将“Group”行绑定到departmentTitle,并且组中项目的第一列应该有employeeTitle。

像这样:

-> departmentTitle
-->employeeTitle
-->employeeTitle
-->employeeTitle
-->employeeTitle

默认情况下,他们使用相同的列:

-> departmentTitle
-->departmentTitle
-->departmentTitle
-->departmentTitle
-->departmentTitle

如何使用同一列更改它们?我可以将它设置为“title”并制作return self.employeeTitle方法但是我必须使KVO兼容并且使用解决方法填充我的模型。我错过了什么吗?感谢

1 个答案:

答案 0 :(得分:0)

我可能会迟到回答这个问题,但这就是我所做的(这不是最优雅的做法,我确定)

你可以拥有一个名为“title”的属性并将列绑定到它。 另外,定义一个属性“departmentTitle”和“employeeTitle”,你根据对象是组对象还是子对象来初始化它。 然后根据您的需要定义“title”属性的getter以返回“departmentTitle”或“employeeTitle”。它看起来像这样:

- (NSString) title {
if (isLeaf) {
return self.employeeTitle;
}
else {
return self.departmentTitle;
}
}

正如我所说,这不是一个优雅的解决方案,但它对我来说就像一个魅力。