Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseRCP应用程序中自动调整单行Nattable的大小_Java_Eclipse Plugin_Eclipse Rcp_Nattable - Fatal编程技术网

Java EclipseRCP应用程序中自动调整单行Nattable的大小

Java EclipseRCP应用程序中自动调整单行Nattable的大小,java,eclipse-plugin,eclipse-rcp,nattable,Java,Eclipse Plugin,Eclipse Rcp,Nattable,在应用程序中,有一个包含Nattable的视图 在该表中,当我使用过滤器搜索字符串时,只剩下一行,如果更改列宽,则所有列都会更改列宽 我在一个论坛上读到它,因为该行被选中,所以所有列的大小都将调整 请让我知道如何解决它 谢谢。第一个问题,如果你在NatTable论坛上读到了关于这个话题的文章,为什么你会提出关于Stackoverflow的问题而不是写信给论坛 第二个问题,为什么选择该行?我不知道有什么功能会在筛选时选择一行 我认为调整所有选定列的大小是一种常见行为,如果只有一行且该行已选定,则意

在应用程序中,有一个包含Nattable的视图

在该表中,当我使用过滤器搜索字符串时,只剩下一行,如果更改列宽,则所有列都会更改列宽

我在一个论坛上读到它,因为该行被选中,所以所有列的大小都将调整

请让我知道如何解决它


谢谢。

第一个问题,如果你在NatTable论坛上读到了关于这个话题的文章,为什么你会提出关于Stackoverflow的问题而不是写信给论坛

第二个问题,为什么选择该行?我不知道有什么功能会在筛选时选择一行

我认为调整所有选定列的大小是一种常见行为,如果只有一行且该行已选定,则意味着所有列都已完全选定。所以我认为这是正确的行为。改变这一点的唯一方法是重写SelectionLayerhandleColumnResizeCommand以禁用多列调整大小功能。目前没有修改该行为的选项


您还可以打开一个增强票证,将这样一个选项包括在NatTable中,并提供一个补丁。

我发现Dirk的答案并不真正有效

我认为正文行/单元格的选择与标题区域的选择无关。所有列的选择——比如说,通过选择标题为矩形的列,与选择数据行完全不同

然而,我发现了一个快速修复,它可以很容易地关闭所有的多重隐藏、调整大小和清除功能。这可能有点脏,但它首先帮助了我:

class MySelectionLayer extends SelectionLayer {
    public MySelectionLayer(IUniqueIndexLayer underlyingLayer) {
        super(underlyingLayer);
    }

    @Override
    public boolean isColumnPositionFullySelected(int columnPosition) {
        return false;
    }
}

我的回答对NatTable有效。无论你认为它作为一个设计是否正确。如果您认为NatTable中的错误,请随意为此创建错误通知单。当列被完全选中时,您的hack也会以不同的方式禁用呈现列,甚至可能禁用更多。