问题标签 [nstablecolumn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
212 浏览

objective-c - NSTableColumn 错误地对数字进行排序

这是一个带有 IB 绑定到 NSArrayController 的 NSTableView,它正确显示所有值。
但是,它仅按数字的第一个 char 值对数字进行排序,例如它将 115.31 置于 2.5 以下,将 23.9 置于 4.71 以下等。

它从包含字符串的保留 NSMutableArray 中获取值,我还尝试将所有字符串转换为 NSNumber/NSDecimalNumber,但仍然没有运气:

请帮忙,谢谢。

编辑:这就是我的 NSTableColumn(s) 的 NSMutableArray(s) 的填充方式:

0 投票
1 回答
343 浏览

nstableview - NSTableView set column to disabled

I have a NSTableView tied to a NSArrayController. The first column are checkboxes. I want to have the users select the rows to perform an action on via the checkboxes and when the user clicks the "Run" button I want to set the state of that column to be un-editable.

How do I go about this?

Thanks!

0 投票
2 回答
334 浏览

objective-c - NStableColumn 和 Cocoa 绑定中的自定义 NSCell?

我目前正在尝试使用 Cocoa Bindings 来使用 Cocoa Bindings 填充 NSTableView。我在使用自定义 NSCell 子类的某些列中遇到了一个主要问题。

我的 XIB 文件包含一个 NStableView 和一个 NSArrayController。

在接口 Builder 中,当您将 NSTextFieldCell 或 NSImageCell 设置为列的数据单元时,您可以将单元格的“值”属性绑定到 ArrayController。当您将 NSCell 设置为 NSTableColumn 的数据单元时,Interface Builder 中没有可用的“值”绑定。所以你可以推断出绑定应该以编程方式完成。

当您尝试以编程方式将“value”属性绑定到 NSArrayController 的“arrangedObjects.property”时,会出现错误提示:“此类不符合键值编码的键值”。实际上,当您调用exposeBindings: 方法时,没有公开“值”属性,也没有“值”属性。

您如何优雅地将 NSArrayController 绑定到具有自定义子类 NSCell 的 NSTableColumn ?

0 投票
2 回答
4566 浏览

cocoa - 以编程方式将列(带有绑定)添加到基于视图的 NSTableView?

我有一个简单的应用程序,它列出了NSTableView.

该表是一个完全标准的基于视图的表,有几列,并通过NSArrayControllerusing 绑定填充。所有这些都在 Interface Builder 中设置,并且按预期工作。

现在,我想以编程方式添加更多列,并将这些新列绑定到模型中的各种键路径。在那里,我被困住了。

为简单起见,假设以下设置:

  1. Model 对象是只有一个 NSString 属性的普通对象:name
  2. AppDelegate 有一个 NSArray 属性 ( models) ,它包含许多 Model 实例。
  3. NSArrayControllercontent绑定到应用程序委托的models数组。
  4. NSTableViewcontent绑定到数组控制器的arrangedObjects.
  5. 表格的第一列被绑定(在 IB 中)以显示name属性,即列 → 表格单元格视图 → 静态文本表格视图单元格 →被绑定到表格单元格视图的objectValue.name

据我所知,这是直截了当的书,它就像一个魅力。

但是......那我该如何添加更多的列呢?

要以编程方式添加列(为简单起见,假设这个新列应该只显示name属性,就像已经存在的列一样),我想我会在应用程序委托中做这样的事情:

我已经尝试了很多从/到数据单元、表、列、数组控制器、数组本身以及各种键路径的绑定组合,但没有任何效果。新列添加得很好,但从未填充。

我想我创建的基本 NSTableColumn 实例是基于单元格的,而不是基于视图的,这会造成麻烦。但是,我不知道如何从这里开始,并且文档从不谈论以编程方式添加的绑定列。

在这种情况下,我只需要一个简单的文本列,绑定到模型,就像我可以轻松设置 IB 一样。

我可以通过实现一个NSTableViewDataSource和“手动”喂表来完成所有这一切,但我已经用绑定设置了其他所有内容。

任何帮助将不胜感激。

0 投票
1 回答
85 浏览

objective-c - 什么会阻止可编辑的 NSTableColumn 在双击时可编辑?

我有NSTableView一个单列。此列在 Interface Builder 中选中了“可编辑”,但双击表格视图中的单元格没有任何作用。我已经确认(-tableView:viewForTableColumn:row:通过检查[tableColumn isEditable])表列设置了可编辑标志。什么会阻止该列被编辑isEditable == YES

有人建议我包含我的数据源和委托代码。dataArray是存储NSManagedObject子类对象的属性。listPopupButton选择要在一个NSTableView可以显示不同实体的实体中查看的实体,所有这些实体都只有一个名称属性(如nameOnlyItems返回这些实体的数组的方法所示)。

0 投票
1 回答
2237 浏览

c++ - 我可以使用 C++ 类实例作为 Objective-C++ id 吗?

在将我的 C++ 数据模型连接到我的 Cocoa 表列 UI 时,我想知道是否可以将 ID(标识符)处的 C++ 类实例提供给 initWithIdentifier

这样做的重点是,当调用 NSTable 的数据源方法 objectValueForTableColumn 时,我可以检索 id 并以某种方式将其转换回有效的 C++ 类实例:

我猜有一种更传统的方法可以做到这一点,但我想简化 Cocoa UI 和纯 C++ 模型之间的连接。

0 投票
2 回答
132 浏览

macos - 如何绑定到 NSTableColumn 的 headerTitle?

我想将 NSTableColumn 的 headerTitle 属性绑定到模型层中的 NSMutableArray(通过 NSArrayController)。

基本上我想要一个数组,我可以在其中更改值并更新表列标题标题。这合理吗?

但是,绑定headerTitle需要一个NSString,我不确定如何通过我的NSArrayController. 谷歌没有为这个问题提供很多点击。

我的模型层由两个类组成(两者都适当地兼容 KVC)。第一个是代表单个列标题的模型,它有一个属性title

第二个模型对象表示一组有序的 ColumnTitle 对象,

请注意,TableColumnTitles对象实现了绑定所需的上述数组访问器。有什么建议么?

0 投票
1 回答
2499 浏览

macos - 如何在调整大小时使 NSTableView 列适合其内容?

我的应用程序有 NSTableView(基于视图),当我将太长的值添加到最后一列时

首先它“击中”滚动条

在此处输入图像描述

然后当我调整窗口大小时,该行没有调整大小以适应内容

在此处输入图像描述

有谁知道如何处理这个问题?!

任何形式的帮助都非常感谢!

0 投票
1 回答
71 浏览

cocoa - 固定 NSTableColumn 使其不会水平滚动?

我正在想办法将一个NSTableColumn固定在我的左侧NSTableView。我一直在考虑将两个NSTableView并排放置,其中第一个包含“固定”列,第二个包含动态数据。将第一个表格设置为禁用水平滚动,然后检测任一表格何时垂直滚动并保持两者同步。

我想知道的是,是否其他人有做类似事情的经验?如果已经完成,我不想重新发明轮子。

0 投票
0 回答
507 浏览

cocoa - 跨多个列的 NSTableVIew 标题

我如何跨越一个 NSTableView 的标题超过一列,即我想要一个标题下的两/三列。如图所示:

我尝试在另一个之上使用两个同步滚动视图。顶部滚动视图/表格视图没有标题。它只有一行,我使用- (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row委托将第一行标记为组行,并在其中填充额外的标题信息。在底部滚动视图/表格视图中有所有数据列以及标题。但它有以下限制:当我调整底部表格视图列的大小/重新排序时,上部表格视图不会调整大小/重新排序。因此,在调整底部表格视图列的大小/重新排序之后,两个表格视图看起来并不同步。