開發筆記
NC6系列前端開發
事件處理
package nc.ui.test.app;
import nc.ui.pub.bill.BillCardPanel;
import nc.ui.pubapp.uif2app.event.IAppEventHandler;
import nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent;
/**
* <p>卡片界面表頭編輯後事件處理示例,不同處理場景隻需替換泛型參數CardHeadTailAfterEditEvent</p>
* <p>擴充:</p>
* <p>1.卡片界面事件包:nc.ui.pubapp.uif2app.event.card</p>
* <p>2.清單界面事件包:nc.ui.pubapp.uif2app.event.list</p>
* @author mickkong
*/
public class CardHeadTailAfterHandler implements IAppEventHandler<CardHeadTailAfterEditEvent> {
@Override
public void handleAppEvent(CardHeadTailAfterEditEvent e) {
// 常用API
String key = e.getKey();
BillCardPanel billCardPanel = e.getBillCardPanel();
}
}
動作處理
package nc.ui.test.app;
import java.awt.event.ActionEvent;
import nc.ui.pub.bill.BillCardPanel;
import nc.ui.pubapp.uif2app.actions.DifferentVOSaveAction;
import nc.ui.pubapp.uif2app.view.BillForm;
/**
* <p>界面儲存動作示例,不同處理場景隻需替換繼承的DifferentVOSaveAction類</p>
* <p>擴充:</p>
* <p>1.Action父類包:nc.ui.pubapp.uif2app.actions</p>
* <p>2.審批流相關:nc.ui.pubapp.uif2app.actions.pflow</p>
* @author mickkong
*/
public class TestSaveAction extends DifferentVOSaveAction {
@Override
public void doAction(ActionEvent e) throws Exception {
// 常用API
BillCardPanel billCardPanel = ((BillForm)getEditor()).getBillCardPanel();
super.doAction(e);
}
}
查詢初始化
package nc.ui.test.app;
import java.util.ArrayList;
import java.util.List;
import nc.ui.pubapp.uif2app.query2.IQueryConditionDLGInitializer;
import nc.ui.pubapp.uif2app.query2.QueryConditionDLGDelegator;
import nc.ui.pubapp.uif2app.query2.refregion.QueryDefaultOrgFilter;
/**
* 查詢界面初始化類
* @author mickkong
*/
public class TestQueryConditionInitializer implements IQueryConditionDLGInitializer {
@Override
public void initQueryConditionDLG(QueryConditionDLGDelegator qcDLGDelegator) {
// 常用API
qcDLGDelegator.setPowerEnable(true);
List targetFields = new ArrayList();
targetFields.add("pk_project");
targetFields.add("pk_dept");
QueryDefaultOrgFilter orgFilter = new QueryDefaultOrgFilter(qcDLGDelegator, "pk_org", targetFields);
}
}
參照開發
package nc.ui.test.app;
import nc.ui.bd.ref.AbstractRefTreeModel;
/**
* <p>樹模型參照</p>
* <p>擴充:</p>
* <p>1.參照包:nc.ui.bd.ref</p>
* @author mickkong
*/
public class TestRefTreeModel extends AbstractRefTreeModel {
public TestRefTreeModel() {
// 常用API
setRefTitle("标題");
setRootName("根名");
setPkFieldCode("pk");
setRefCodeField("code");
setRefNameField("name");
setFatherField("pid");
setChildField("pk_child");
setTableName("table");
setFieldCode(new String[] {"code", "name"});
setFieldName(new String[] {"編碼", "名稱"});
setHiddenFieldCode(new String[] {"pk_child", "pid"});
resetFieldName();
}
}
校驗規則
package nc.ui.test.app;
import nc.bs.uif2.validation.IValidationService;
import nc.bs.uif2.validation.ValidationException;
/**
* 校驗規則
* @author mickkong
*
*/
public class TestValidate implements IValidationService {
@Override
public void validate(Object obj) throws ValidationException {
}
}
NC5系列前端開發
Controller類
package nc.ui.demo.course;
import nc.ui.trade.bill.AbstractManageController;
import nc.ui.trade.button.IBillButton;
public class ClientCtrl extends AbstractManageController {
public String[] getCardBodyHideCol() {
return null;
}
public int[] getCardButtonAry() {
return new int[]{
IBillButton.Brow,
IBillButton.Query,
IBillButton.Add,
IBillButton.Edit,
IBillButton.Line,
IBillButton.Save,
IBillButton.Delete,
IBillButton.Cancel,
// 傳回按鈕
IBillButton.Return,
IBillButton.Refresh
};
}
public boolean isShowCardRowNo() {
return false;
}
public boolean isShowCardTotal() {
return false;
}
public String getBillType() {
return null;
}
public String[] getBillVoName() {
return null;
}
public String getBodyCondition() {
return null;
}
public String getBodyZYXKey() {
return null;
}
public int getBusinessActionType() {
return 0;
}
public String getChildPkField() {
return null;
}
public String getHeadZYXKey() {
return null;
}
public String getPkField() {
return null;
}
public Boolean isEditInGoing() throws Exception {
return null;
}
public boolean isExistBillStatus() {
return false;
}
public boolean isLoadCardFormula() {
return false;
}
public String[] getListBodyHideCol() {
return null;
}
public int[] getListButtonAry() {
return new int[] {
IBillButton.Query,
IBillButton.Add,
IBillButton.Edit,
IBillButton.Line,
IBillButton.Save,
IBillButton.Delete,
IBillButton.Cancel,
// 卡片按鈕
IBillButton.Card,
IBillButton.Refresh
};
}
public String[] getListHeadHideCol() {
return null;
}
public boolean isShowListRowNo() {
return false;
}
public boolean isShowListTotal() {
return false;
}
}
EventHandler類
package nc.ui.demo.course;
import nc.ui.pub.ButtonObject;
import nc.ui.trade.controller.IControllerBase;
import nc.ui.trade.manage.BillManageUI;
import nc.ui.trade.manage.ManageEventHandler;
public class ClientEventHandler extends ManageEventHandler {
public ClientEventHandler(BillManageUI billUI, IControllerBase control) {
super(billUI, control);
}
@Override
public void onBoAdd(ButtonObject bo) throws Exception {
// TODO 自動生成的方法存根
super.onBoAdd(bo);
}
@Override
protected void onBoElse(int intBtn) throws Exception {
super.onBoElse(intBtn);
}
}
UI類
package nc.ui.demo.course;
import nc.ui.trade.bill.AbstractManageController;
import nc.ui.trade.manage.BillManageUI;
import nc.vo.pub.CircularlyAccessibleValueObject;
public class ClientUI extends BillManageUI {
@Override
protected AbstractManageController createController() {
return null;
}
@Override
public void setBodySpecialData(CircularlyAccessibleValueObject[] arg0) throws Exception {
}
@Override
protected void setHeadSpecialData(CircularlyAccessibleValueObject arg0, int arg1) throws Exception {
}
@Override
protected void setTotalHeadSpecialData(CircularlyAccessibleValueObject[] arg0) throws Exception {
}
@Override
protected void initSelfData() {
}
@Override
public void setDefaultData() throws Exception {
}
/**
* 當單據不走平台時,單據 UI 類應該重載基類的 createBusinessDelegator 方法,并傳回不走平台的業務代理類
*/
// @Override
// protected BusinessDelegator createBusinessDelegator() {
// return new BDBusinessDelegator();
// }
}