在列上设置了DescriptionProvider,可否让弹出的文本可以选中呢?

image
如图,现在没法复制弹出的这个多行文本框里的文字,有没有办法让他可选可复制,谢谢

这个DescriptionProvider只是显示了全部的字段内容?
如果是的话,可以不用DescriptionProvider,直接这列用 popupView,点击能看到全部,也能复制。效果就跟你在实体探查里看这个字段的效果一样。 代码例子在这里:

用popupView ,他显示的文字选中不会自动反色,弹出的框框位置也没法控制,直接把单元格整个挡住了。
image

popupview 的位置可调。弹出就是为了让用户查看和复制内容,此时挡住单元格没有问题吧,单元格的内容都显示在弹窗内了。

位置见楼上。
你说的反选的截图,怎么跟我想象的不一样?实际效果如下图:
image

image

popupview里可以放别的控件,你可以放textArea, vbox hbox table都可以的。

能发一下你的代码吗?我是按上面按个帖子里的,,为啥你的还带下划线?我是用的DataGrid

        procTasksTable.addGeneratedColumn("summary", entity -> {
            String summary = entity.getSummary();
            PopupView popupView = componentsFactory.createComponent(PopupView.class);

            if (summary != null)
                popupView.setMinimizedValue(summary);
            TextArea textArea = componentsFactory.createComponent(TextArea.class);
            textArea.setEditable(false);
            textArea.setWidth("200px");
            textArea.setHeight("150px");
            textArea.setValue(summary);
            popupView.addStyleName("special-character-button");
            textArea.addStyleName("special-character-button");

            popupView.setPopupContent(textArea);

            return popupView;

        });

我的是groupTable,里面用到的那个styleName只是指定了字体,没有设置其他的。

代码和你没啥区别,看来Gird和Table显示不一样,而且这个地方也没法设置弹出的位置(没法获得当前Cell的坐标)。另外想问下系统的DescriptionProvider的实现逻辑在哪里,想看看他是怎么写的

你试试用全局的 css 控制 tooltip 能选择:

.v-tooltip .v-tooltip-text {
    user-select: auto;
}

设置了这个样式也不能选中,只是让文字颜色成黑色了

  .v-tooltip .v-tooltip-text {
      -webkit-user-select:text;
      -moz-user-select:text;
      -ms-user-select:text;
      user-select: text;
  }

可以了,谢谢了!
1 个赞