NC里有数据格式节点,显示不同语种对于数字,日期等格式的要求,对不同的用户可以设置不同的数据格式,但是这种格式设置是面对所有字段的,如果需要对个别字段有特殊的格式要求,那么就要进行二开,代码如下。
//将Integer类型千分位去除,重新设置渲染器(继承BillTableCellRenderer重写setValue)
BillItem[] bodyItems = listPanel.getBodyBillModel().getBodyItems();
TableColumnModel columnModel = listPanel.getChildListPanel().getTable().getColumnModel();
for (int i = 0; i < bodyItems.length; i++) {
BillItem billItem = bodyItems[i];
int dataType = billItem.getDataType();
if(dataType == 1){
//int类型 =1
TableColumn column = columnModel.getColumn(billItem.getShowOrder());
column.setCellRenderer(new IntRender());
}
}
/**
* 向飞飞
* 继承的好处,比如背景色,提示图标,警告等不用重写
*/
class IntRender extends BillTableCellRenderer{
private static final long serialVersionUID = 1L;
@Override
protected void setValue(Object value) {
if (value != null && value instanceof Integer) {
setHorizontalAlignment(LEFT);//对齐方式
setText(value == null ? "" : value.toString());
}
}
}