使用 LinkedHashMap 中的单元格格式化程序将数值转换为相应的标签
Translate numeric value to it's corresponding label using cell formatter from LinkedHashMap
我正在尝试使用网格 (PaginatedGrid) 中列上的键来显示 LinkedHashMap 中的值。
在网格中,我尝试将 public String format()
中的值转换为 short。
在网格中,以下是我试过的代码
grid.getField(MerchandiseSellerTargetsDS.FLD_TARGETTYPE).setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
short messageValue = ((Integer) value).shortValue();
return Messages.targetTypeMap.get(messageValue);
}
});
在Messages.java
public static LinkedHashMap<Number, String> targetTypeMap;
targetTypeMap=new LinkedHashMap<>();
targetTypeMap.put((short)1,"Value");
targetTypeMap.put((short)2,"Unit");
我希望使用地图中的值填充该列,例如如果键为 1,则显示 "Value",如果为 2,则显示 "Unit"。但是,该列未填充(执行时显示为空白)。我可能做错了什么还是我的投射方式?
好吧,问题在于我的选角方式。在这里,我将值转换为字符串,然后将其转换为 Short 类型
grid.getField(MerchandiseSellerTargetsDS.FLD_TARGETTYPE).setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
short targetTypeMapKey = Short.valueOf((String)value);
return Messages.targetTypeMap.get(targetTypeMapKey);
}
});
我正在尝试使用网格 (PaginatedGrid) 中列上的键来显示 LinkedHashMap 中的值。
在网格中,我尝试将 public String format()
中的值转换为 short。
在网格中,以下是我试过的代码
grid.getField(MerchandiseSellerTargetsDS.FLD_TARGETTYPE).setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
short messageValue = ((Integer) value).shortValue();
return Messages.targetTypeMap.get(messageValue);
}
});
在Messages.java
public static LinkedHashMap<Number, String> targetTypeMap;
targetTypeMap=new LinkedHashMap<>();
targetTypeMap.put((short)1,"Value");
targetTypeMap.put((short)2,"Unit");
我希望使用地图中的值填充该列,例如如果键为 1,则显示 "Value",如果为 2,则显示 "Unit"。但是,该列未填充(执行时显示为空白)。我可能做错了什么还是我的投射方式?
好吧,问题在于我的选角方式。在这里,我将值转换为字符串,然后将其转换为 Short 类型
grid.getField(MerchandiseSellerTargetsDS.FLD_TARGETTYPE).setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
short targetTypeMapKey = Short.valueOf((String)value);
return Messages.targetTypeMap.get(targetTypeMapKey);
}
});