枚举在KDTable中显示数字解决

在KDTable中,如果该列是枚举,则显示的value,不会显示别名,要显示别名有两个方法:

1、在Query中用case 语句,这个办法比较笨,如果枚举添加,或者比较多,需要重新修改Query。不建议使用。

2、覆盖父类方法getQueryExecutor

protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK,
			EntityViewInfo viewInfo) {
		IQueryExecutor iec = super.getQueryExecutor(queryPK, viewInfo);
		iec.option().isAutoTranslateEnum = true;//显示枚举
		iec.option().isAutoTranslateBoolean=true;//显示checkbox
		return iec;
	}
 

3、在KDTable的列中设置Editor。这样该列也会显示成下拉框:

private void addCtrl() {
		tblMain.checkParsed();
		KDComboBox tblMain_useToGuarUnit = new KDComboBox();
		tblMain_useToGuarUnit.setName("tblMain_useToGuarUnit");
		tblMain_useToGuarUnit.setVisible(true);
		tblMain_useToGuarUnit.addItems(EnumUtils.getEnumList("com.kingdee.eas.huar.common.YesOrNoEnum").toArray());
		KDTDefaultCellEditor tblMain_useToGuarUnit_CellEditor = new KDTDefaultCellEditor(tblMain_useToGuarUnit);
		this.tblMain.getColumn("useToGuarUnit").setEditor(tblMain_useToGuarUnit_CellEditor);
	}

你可能感兴趣的:(table)