我正在使用GWT 2.0.0在Java 6項目中。我正在使用的功能允許用戶選擇DualListField中的項目,但只允許一定數量的項目。因此,我要求一旦達到一定的限制(即只能選擇x個項目),將禁用DualListField按鈕欄中的「添加選擇」和「添加全部」按鈕。有沒有人試過這個?有沒有比定製DualListField更簡單的方法?如何在GXT中禁用DualListField的「添加選定」按鈕?
謝謝。
我正在使用GWT 2.0.0在Java 6項目中。我正在使用的功能允許用戶選擇DualListField中的項目,但只允許一定數量的項目。因此,我要求一旦達到一定的限制(即只能選擇x個項目),將禁用DualListField按鈕欄中的「添加選擇」和「添加全部」按鈕。有沒有人試過這個?有沒有比定製DualListField更簡單的方法?如何在GXT中禁用DualListField的「添加選定」按鈕?
謝謝。
我kindof能夠實現這一目標,通過定製DualListField和設置:
super.buttonBar.getWidget(0).setVisible(false)
創建一個新的XY類從DualListField延伸。在此XY類中定義類似於:
public clas XY <D extends ModelData> extends DualListField<D>{
public static final int leftButton = 0x1;
public static final int rightButton = 0x2;
public static final int allLeftButton = 0x3;
public static final int allRightButton = 0x4;
public static final int upButton = 0x5;
public static final int downButton = 0x6;
List<Integer> buttonsToRemoveList;
public CustomDualListField(List<Integer> buttonsToRemoveList){
super();
this.buttonsToRemoveList = buttonsToRemoveList;
}
@Override
protected void onRender(Element target, int index) {
super.onRender(target, index);
if(buttonsToRemoveList != null){
for(Integer val:buttonsToRemoveList){
switch(val.intValue()){
case leftButton:{
buttonBar.remove(left);
break;
}
case rightButton:{
buttonBar.remove(right);
break;
}
case allLeftButton:{
buttonBar.remove(allLeft);
break;
}
case allRightButton:{
buttonBar.remove(allRight);
break;
}
case upButton:{
buttonBar.remove(up);
break;
}
case downButton:{
buttonBar.remove(down);
break;
}
}
}
}
}
}
使用此方法,您可以配置將顯示的按鈕。