NC實戰開發筆記

開發筆記

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();
 // }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章