在项目中有时需要对一个文本型的字段,在录入时以F7的形式进行选择。可通过如下方法实现:
1: final KDBizPromptBox prmtstatus = new KDBizPromptBox();
2: prmtstatus.setQueryInfo("com.kingdee.eas.shine.basedata.app.StatusQuery");
3: prmtstatus.setVisible(true);
4: prmtstatus.setEditable(false);
5:
6: prmtstatus.setDisplayFormat("$number$");
7: prmtstatus.setEditFormat("$number$");
8: prmtstatus.setCommitFormat("$number$");
9:
10: ExtendParser parserStatus = new ExtendParser(prmtstatus);
11: prmtstatus.setCommitParser(parserStatus);
12:
13: KDTDefaultCellEditor status_CellEditor = new KDTDefaultCellEditor(prmtstatus);
14: ObjectValueRender status_OVR = new ObjectValueRender();
15: status_OVR.setFormat(new BizDataFormat("$number$"));
16:
17: this.kdtEntries.getColumn("reserve2").setEditor(status_CellEditor);
18: this.kdtDetail.getColumn("reserve2").setEditor(status_CellEditor);
19: this.kdtSub.getColumn("reserve2").setEditor(status_CellEditor);
20:
21: this.kdtEntries.getColumn("reserve2").setRenderer(status_OVR);
22: this.kdtDetail.getColumn("reserve2").setRenderer(status_OVR);
23: this.kdtSub.getColumn("reserve2").setRenderer(status_OVR);
24:
25: prmtstatus.addDataChangeListener(new DataChangeListener() {
26:
27: public void dataChanged(DataChangeEvent e) {
28: if (e.getNewValue() != null) {
29: prmtstatus.setValue(e.getNewValue().toString());
30: }
31: }
32: });
http://www.cnblogs.com/masb/archive/2012/02/23/2365402.html