Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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 如何在GWT中将带有clickHandler的锚点添加到ListGridRecord_Java_Gwt_Smartgwt - Fatal编程技术网

Java 如何在GWT中将带有clickHandler的锚点添加到ListGridRecord

Java 如何在GWT中将带有clickHandler的锚点添加到ListGridRecord,java,gwt,smartgwt,Java,Gwt,Smartgwt,我需要将带有clickHandler的锚添加到ListGridRecord。单击以定位应调用函数(向ListGrid添加更多行)。我能够使用href编写锚定: private void addAnchorToRecord(ListGridRecord rec) { String img = "<img src='pict/Plus.png'/>"; Anchor myAnchor = new Anchor(img, true, "example.html");

我需要将带有clickHandler的锚添加到ListGridRecord。单击以定位应调用函数(向ListGrid添加更多行)。我能够使用href编写锚定:

private void addAnchorToRecord(ListGridRecord rec) {
    String img  = "<img src='pict/Plus.png'/>";
    Anchor myAnchor = new Anchor(img, true, "example.html");
    String value = myAnchor.toString();
    rec.setAttribute("versions", value);
}
然后在我的牢房里只有“[对象]”


我需要的功能:将属性设置为ListGridRecord,它具有图标和clickHandler。

如果您只需在ListGridRecord中添加一个按钮,然后将clickHandler添加到该按钮,则会更容易。必须这样做:

 @Override
 protected Canvas createRecordComponent(final ListGridRecord record, final Integer colNum){
        if(getFieldName(colNum).equalsIgnoreCase(("btnFieldName"))){
               IButton btn= new IButton("");
               //configure the button
               btn.addClickHandler(new ClickHandler() {
                  @Override
                  public void onClick(ClickEvent event) {
                    //your logic
                  }
               });
               return btn;
         }
     return super.createRecordComponent(record, colNum);
 }
配置ListGrid时:

    setShowRecordComponents      (true );
    setShowRecordComponentsByCell(true );
设置字段时

    ...
    ListGridField btnField= new ListGridField("btnFieldName", " ");
    ...
然后像这样覆盖createRecordComponent:

 @Override
 protected Canvas createRecordComponent(final ListGridRecord record, final Integer colNum){
        if(getFieldName(colNum).equalsIgnoreCase(("btnFieldName"))){
               IButton btn= new IButton("");
               //configure the button
               btn.addClickHandler(new ClickHandler() {
                  @Override
                  public void onClick(ClickEvent event) {
                    //your logic
                  }
               });
               return btn;
         }
     return super.createRecordComponent(record, colNum);
 }

有没有理由使用GWT锚定而不是SmartGWT?另外,请检查,,无原因。我已编辑了我的问题。您是否检查了我发布的SmartGWT showcase链接?您可能正在尝试这样做。我想在ListGridRecord中设置所有内容,而不是在ListGridField中。这是我的错误。谢谢
    ...
    ListGridField btnField= new ListGridField("btnFieldName", " ");
    ...
 @Override
 protected Canvas createRecordComponent(final ListGridRecord record, final Integer colNum){
        if(getFieldName(colNum).equalsIgnoreCase(("btnFieldName"))){
               IButton btn= new IButton("");
               //configure the button
               btn.addClickHandler(new ClickHandler() {
                  @Override
                  public void onClick(ClickEvent event) {
                    //your logic
                  }
               });
               return btn;
         }
     return super.createRecordComponent(record, colNum);
 }