Java 如何在GWT中将带有clickHandler的锚点添加到ListGridRecord
我需要将带有clickHandler的锚添加到ListGridRecord。单击以定位应调用函数(向ListGrid添加更多行)。我能够使用href编写锚定: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");
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);
}