NSTableView可编辑标题,并双击表格单元格

英思

实现了具有可编辑标头的NSTableView,例如在此Stackoverflow问题中除了双击表以编辑单元格外,其他所有操作均正常。这不再起作用。

我怀疑发生这种情况是因为将NSTableView setDoubleAction:bit设置为custom方法,然后该方法成为了表中所有双击事件的处理程序(以下是原始问题的代码示例):

-(void)setupTableHeader:(id)table {
    NSArray *columns = [table tableColumns];
    NSEnumerator *cols = [columns objectEnumerator];
    NSTableColumn *col = nil;

    NBETableHeaderCell *iHeaderCell;

    while (col = [cols nextObject]) {
        iHeaderCell = [[NBETableHeaderCell alloc] initTextCell:[[col headerCell] stringValue]];
        [col setHeaderCell:iHeaderCell];
        [[col headerCell] setEditable:YES];
        [iHeaderCell release];
    }
    [table setTarget:self];
    [table setDoubleAction:@selector(doubleClickInTableView:)]; // < This bit
}

我的问题是,如何恢复用于编辑表格单元格的双击功能?

谢谢你。

英思

在准备好问题后不久就找到了答案,并认为这可能是一个问答。

在该doubleClickInTableView:方法中,将进行检查以确保单击了标题单元格。因此,用else子句扩展该检查并在editColumn:row:withEvent:select:那里实现足够了

-(void)doubleClickInTableView:(id)sender
{
    NSInteger row = [sender clickedRow];
    NSInteger column = [sender clickedColumn];

    if(row == -1&& column >= 0)
    {
        NSTableColumn *tableColumn = [[sender tableColumns] objectAtIndex:column];
        NSTableHeaderView *headerView = [sender headerView];
        YCTableHeaderCell *headerCell = [tableColumn headerCell];

        NSWindow *window = [[NSApplication sharedApplication] mainWindow];
        id cellEditor = [window fieldEditor:YES forObject:sender];

        [headerCell setHighlighted:YES];
        [headerCell selectWithFrame:[headerView headerRectOfColumn:column]
                             inView:headerView
                             editor:cellEditor
                           delegate:headerCell
                              start:0
                             length:headerCell.stringValue.length];

        [cellEditor setBackgroundColor:[NSColor whiteColor]];
        [cellEditor setDrawsBackground:YES];
    }
    // This bit below.
    else if(row >= 0 && column >= 0)
    {
        [sender editColumn:column row:row withEvent:nil select:true];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使JavaFX TableView单元格可编辑?

来自分类Dev

Javafx可编辑表格单元格

来自分类Dev

具有显示错误的JavaFX可编辑表格单元格

来自分类Dev

通过可编辑单元格的JavaFX选项卡

来自分类Dev

在编辑时更改NSTableView单元格的值

来自分类Dev

根据表格标题更改表格单元格的背景颜色

来自分类Dev

TableView,设置可编辑单元格

来自分类Dev

AngularJS中的可编辑表格单元格

来自分类Dev

TableView中的可编辑多行单元格

来自分类Dev

使NSTableView单元格只能通过编程方式进行编辑

来自分类Dev

使用JButton使单元格可编辑

来自分类Dev

可编辑单元格不会与引导表中的相邻单元格重叠

来自分类Dev

如何使部分不可编辑的表格单元格与内联JavaScript函数兼容?

来自分类Dev

具有arrayformula的列中的可编辑单元格

来自分类Dev

使用Apps脚本返回到某些单元格并使其在Google表格中可编辑

来自分类Dev

如何使单元格可编辑

来自分类Dev

为什么我的标题是可选的,单元格是不可编辑的

来自分类Dev

如何使JavaFX TableView单元格可编辑?

来自分类Dev

动态编辑html表格的单元格

来自分类Dev

分组的UITablleview不可编辑单元格缩进

来自分类Dev

Java-如何使JTable中的单元格可编辑?

来自分类Dev

双击调整大小点时基于单元格的NSTableView称为函数吗?

来自分类Dev

无法从JTable可编辑单元格读取数据

来自分类Dev

使用VBA将带有可编辑单元格的表格从Excel粘贴到Powerpoint

来自分类Dev

动态表格中的可编辑单元格

来自分类Dev

qtableview 中不可编辑的单元格

来自分类Dev

如何根据其他单元格值使单元格可编辑

来自分类Dev

将表格单元格转换为可编辑输入

来自分类Dev

SAPUI5 无法获取表格可编辑单元格值

Related 相关文章

  1. 1

    如何使JavaFX TableView单元格可编辑?

  2. 2

    Javafx可编辑表格单元格

  3. 3

    具有显示错误的JavaFX可编辑表格单元格

  4. 4

    通过可编辑单元格的JavaFX选项卡

  5. 5

    在编辑时更改NSTableView单元格的值

  6. 6

    根据表格标题更改表格单元格的背景颜色

  7. 7

    TableView,设置可编辑单元格

  8. 8

    AngularJS中的可编辑表格单元格

  9. 9

    TableView中的可编辑多行单元格

  10. 10

    使NSTableView单元格只能通过编程方式进行编辑

  11. 11

    使用JButton使单元格可编辑

  12. 12

    可编辑单元格不会与引导表中的相邻单元格重叠

  13. 13

    如何使部分不可编辑的表格单元格与内联JavaScript函数兼容?

  14. 14

    具有arrayformula的列中的可编辑单元格

  15. 15

    使用Apps脚本返回到某些单元格并使其在Google表格中可编辑

  16. 16

    如何使单元格可编辑

  17. 17

    为什么我的标题是可选的,单元格是不可编辑的

  18. 18

    如何使JavaFX TableView单元格可编辑?

  19. 19

    动态编辑html表格的单元格

  20. 20

    分组的UITablleview不可编辑单元格缩进

  21. 21

    Java-如何使JTable中的单元格可编辑?

  22. 22

    双击调整大小点时基于单元格的NSTableView称为函数吗?

  23. 23

    无法从JTable可编辑单元格读取数据

  24. 24

    使用VBA将带有可编辑单元格的表格从Excel粘贴到Powerpoint

  25. 25

    动态表格中的可编辑单元格

  26. 26

    qtableview 中不可编辑的单元格

  27. 27

    如何根据其他单元格值使单元格可编辑

  28. 28

    将表格单元格转换为可编辑输入

  29. 29

    SAPUI5 无法获取表格可编辑单元格值

热门标签

归档