金蝶DEP与java代码传值示例

1. 首先在dep对应的页面打开按钮事件中添加对应参数,和需要打开的页面ui路径
var uiContext =new  com.kingdee.eas.common.client.UIContext(pluginCtx.getUI());
// 获取选中的第一条数据索引
var topSeq = pluginCtx.getKDTable("tblMain").getSelectManager().get().getTop();
// 获取第一条数据的id
var topId = pluginCtx.getKDTable("tblMain").getRow(topSeq).getCell("id").getValue();
// 添加参数进uiContext中
uiContext.put("selectTopId",topId);
// $$后面的为对应的模板界面
var uiName = "com.kingdee.eas.test.client.TestListUI$$com.kingdee.eas.fm.fin.client.WegeListHistoryUI";
// 装载页面数据
var uiWindow = com.kingdee.bos.ui.face.UIFactory.createUIFactory
	(com.kingdee.eas.common.client.UIFactoryName.MODEL).create(uiName, uiContext);
// 打开页面
uiWindow.show();
2. 然后在新页面的onLoad方法中使用getUIContext()方法获取页面上下文
public void onLoad() throws Exception {
    super.onLoad();
	tblMain.getColumn("expireddate").getStyleAttributes().setBackground(SHOW_MESSAGE_FG_DEFAULT);
   	// 获取上游页面传递参数
   	Map params = this.getUIContext();
   	// 根据传递的参数名称,获取对应的值
   	String id = params.get("selectTopId").toString();
}
3. 其实同理在dep对应的打开页面页面加载后置方法中写也是一样的
java.util.Map params = pluginCtx.getUIContext();
var id = params.get("selectTopId").toString();

你可能感兴趣的:(金蝶DEP与java代码传值示例)