2010-10-26 23 views
0

我想显示一个数据网格,列的长标题名称和行的长标题名称,但单元格中只有少量数据,我想以紧凑方式这样做,的排序是这样的:将NSTableView用作网格,可能带有垂直标签?

  V V V V V V 

      H H H H H H 
      e e e e e e 
      a a a a a a 
      d d d d d d 
      e e e e e e 
      r r r r r r 

      1 2 3 4 5 6 
      ------------------------- 
H Header 1 | X | | X | X | | X | 
H Header 2 | X | | X | X | X | X | 
H Header 3 | X | | | | | X | 
H Header 4 | | X | X | | | X | 
H Header 5 | | | X | X | | | 
H Header 6 | X | X | | X | | X | 
      ------------------------- 

什么对我来说很有意义,使用可可,就是用一个NSTableView,但目前尚不清楚,我认为这是可以这样做(我不擅长不够甚至知道从哪里开始对列标题进行子类化来破解它)。

有没有一种很好的方式在Mac可可中做这样的事情?

回答

1

没有比提供自定义NSTableHeaderView,NSTableColumnHeader和NSTableHeaderCell子类更简单的方法。您也可能想要创建一个自定义单元格,以视觉上独特的方式处理绘制第一列(这将是您的行标题列)。

此外,您需要将数据转换为所需的方向,为列0提供行标题,为后续列提供实际数据。

+0

哇。这真是一种耻辱,因为我正在开发一个小型的内部一次性应用程序,听起来像是付出了更多的努力。感谢你的回答。 – 2010-10-26 17:28:14

+0

NSTableView和朋友们实际上非常精心设计,可以作为一个灵活但非常快速的控件一起行动。但是,整个事情需要全面的现代刷新(可能是作为一个单独的控制面向更小但更自定义的表格)。我不得不真的潜入我的XTabulator应用程序的用户界面。不是一件有趣的事情。 – 2010-10-26 17:33:30