gwt - 尝试在我的 GWT cellTable 中添加一些链接单元格

标签 gwt

我正在尝试在单元格表中添加一个链接(我只希望该项目带有下划线并且鼠标符号在悬停时发生变化)

点击后我只想发出一个窗口警报。

为此,我尝试了这些选项:(但没有运气)

1)

           final Hyperlink hyp  = new Hyperlink("test", "test");


    Column<EmployerJobs, Hyperlink> test = new Column<EmployerJobs, Hyperlink>(new HyperLinkCell())

    {
        @Override
        public Hyperlink getValue(EmployerJobs object)
        {
        return hyp;
        }
    };

选项 1 的问题是,它带我进入导航页面“测试”,而我不想进入任何其他页面,我只想要一个窗口警报。

2)

         Column<EmployerJobs, SafeHtml> test = new Column<EmployerJobs, SafeHtml>(new SafeHtmlCell())
    {
        @Override
        public SafeHtml getValue(EmployerJobs object)
        {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendEscaped("test");

                return sb.toSafeHtml();
        }
    }; 

选项 2 的问题是我不知道这里到底要返回什么,而且它没有下划线。

3)最后我尝试使用复合单元在我的单元格表中添加 anchor (理想情况下我希望在一个单元格中添加三个不同的 anchor )

final Anchor anc = new Anchor();
    ArrayList list = new ArrayList();
    list.add(anc);
     CompositeCell ancCell = new CompositeCell(list);
    Column testColumn1 = new Column<EmployerJobs, Anchor>(ancCell) {

        @Override
        public Anchor getValue(EmployerJobs object) {


            return anc;
        }       
    };

选项 3 给出了一些异常(exception)。

如果您可以帮助我实现上述任何选项,我将不胜感激

谢谢

最佳答案

你这样做是完全错误的。您需要使用ActionCell对于这样的东西或创建你自己的细胞。示例代码:

    ActionCell.Delegate<String> delegate = new ActionCell.Delegate<String>(){ 
      public void execute(String value) { //this method will be executed as soon as someone clicks the cell
              Window.alert(value);

      } 
    };
    ActionCell<String> cell = new ActionCell<String>(safeHtmlTitle,delegate){

        @Override
        public void render(com.google.gwt.cell.client.Cell.Context context,  //we need to render link instead of default button
                String value, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<a href='#'>");
            sb.appendEscaped(value);
            sb.appendHtmlConstant("</a>");
        }
    }; 

    Column testColumn1 = new Column<EmployerJobs, String>(cell) {

        @Override
        public String getValue(EmployerJobs object) { 
            //we have to return a value which will be passed into the actioncell

            return object.name;
        }       
    };

我建议阅读官方documentation对于单元格小部件,因为它几乎是您需要了解的有关单元格小部件的所有内容。

关于gwt - 尝试在我的 GWT cellTable 中添加一些链接单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9212695/

相关文章:

java - GWT:从 html 字符串生成图像(.png、jpeg)

java - 有没有办法在代码中设置 GWT 按钮的光标样式?

java - GWT。排除共享域对象以分离 Maven 模块

java - 从已部署的 Web 应用程序获取 Tomcats webapps 目录中文件的相对路径

ruby-on-rails - GWT 和 Ruby on Rails

java - 处理弹出窗口之外的点击事件

java - GWT 生成器获取编译时间

java - 如何让用户只输入字母,不输入数字等字符

java - 如何在 Tomcat 上部署 GWT

java - CSS 未在 GXT 文本区域中更新