[Logo]  E3系統 開發.操作.問題 討論區 
[Search] 搜尋主題 [Recent Topics] 最新主題 [Hottest Topics] 熱門主題 [Members] 會員列表 [Groups] E3首頁
[Register] 會員註冊 [Login] 會員登入
新增 單表編輯程式  XML
討論區首頁 » Java程式分析與設計
發表人 內容
e3Admin

[Avatar]

註冊時間: 2011-06-09 18:31:13
文章: 73
離線

單一表單編輯是指做MySQL一個資料表的編輯工作,
一般都是做參照的基本資料表.
這裡用SDK專案的 "郵遞區號編輯" 功能的分析設計
步驟. 這裡的原碼行號是標示作用, 並非原始檔的行號.
主要是做討論標示用.

所以如果要新增一個單表單的編輯程式, 可以照這些
步驟copy一次, 再修改要編輯的各欄位值.


A. 主選單項目
src/com/dasam/e3010001/client/SystemDataCmz.java
x.add2(rs,1,"D",".郵遞區號編輯","edit.CmzZipCode",1,"edit_1",2,null);


B. 建立資料庫
resource/cmz.sql
要注意, 行2,行4的資料表名稱要同步. 如何執行cmz.sql請看 E3/SDK安裝説明
insert ignore bjn_tableState values('cmzZipCode',0,0,0,'');

create table if not exists `cmzZipCode` (
	`id` varchar(10) not null default '',
	`name` varchar(50) not null default '', --簡稱
	`memo` varchar(100) not null default '', --備註
	`swDel` tinyint unsigned not null default 0, --作廢, 1=yes,

	`creater` varchar(20) not null default '', --建立人員
	`createTime` datetime not null default '0-0-0', --建立時間
	`updater` varchar(20) not null default '', --修改人員
	`updateTime` datetime not null default '0-0-0', --修改時間

    primary key (id)
) type=InnoDB ;


C. 資料庫欄名中文對照及簡繁設定(3個文檔)
resource/com/dasam/e3010001/client/res/lang/cmz_table.ppt, cmz_ui.ppt, cmz_xclass.ppt
#============ cmz_table.ppt ============
#區碼-----------------
cmzZipCode.id = 區碼 || 区码
cmzZipCode.name = 名稱

#============ cmz_ui.ppt ============
#----------- edit.CmzZipCode ------------
edit.CmzZipCode.filter = a.id,1;a.name,1;[@x.memo,tbl],a.memo,1;[@x.swDel,tbl],a.swDel,2
# edit.CmzZipCodeView 
edit.CmzZipCodeView.title = [@XTool.view_button.CmzZipCodeView,cls]
edit.CmzZipCodeView.filter = [@edit.CmzZipCode.filter]

#============ cmz_xclass.ppt ============
XTool.view_button.CmzZipCodeView = 郵遞區號資料視窗 || 邮递区号资料视窗


D. 資料視窗程式
Client: src/com/dasam/e3010001/client/edit/CmzZipCodeView.java
public class CmzZipCodeView extends com.dasam.client.gui.XDlgView {

    public CmzZipCodeView()  throws Exception {
        this.convLangTables = "cmzZipCode";
        this.setTitle(ui("title"));
        this.filterList = uiFilter("filter");
        this.serviceClassId = "edit.CmzZipCodeView";
        this.fieldStyle = "{id=wd:80;ha:c}{name=wd:220}";
        this.fieldList = "id,name";
    }

}

Server: src/com/dasam/e3010001/server/edit/CmzZipCodeView.java
public class CmzZipCodeView extends XServiceListI {

    public HashMap doWorkInit(HashMap map) throws Exception {
        setXUserInformationObject(map, true); //建立user
        setLastUpdateTime(map);
        setPageRecord(map); //頁筆數
        this.tableStateId = "cmzZipCode";
        this.viewTableName = tableStateId;
        if (filterString==null) filterString = XLet.getString(map.get("filter"));
        this.viewSelect = "select a.id, concat(if(swDel=1,'*',''),name) as 'name', swDel from cmzZipCode a ";

        return defaultFunctions(map);
    }

}


E. 單表編輯主程式
Client: src/com/dasam/e3010001/client/edit/CmzZipCode.java
public class CmzZipCode extends XFrameEditI {

    public CmzZipCode() throws Exception {
        this.isVoidWorkMode=true;
        this.isUnvoidWorkMode=true;
        this.convLangTables = "cmzZipCode,x";
        this.filterList = uiFilter("filter");
        this.serviceClassId = "edit.CmzZipCode";
    }

    public void doWorkInit(HashMap map) throws Exception {
        super.doWorkDefault(map,this);
        this.moveRecord("init", XLet.getString(map.get("#link_edit_initValue")));

		//editor layout
        //"主碼"
        XEText eId = new XEText(tbl("id"),10,this,"id");
        xlay.add(eId,0,0);
        eId.setFindRecord(this);
        //資料視窗
        XButton2 btnView = XTool.getViewButton("CmzZipCodeView",eId,this,"id", xwbar.getButton("first"));
        xlay.addComH(eId,btnView,1,0);
        editMap.put(btnView,"view");

        //"名稱"
        XEText eName = new XEText(tbl("name"),20,this,"name");
        xlay.add(eName,0,0);

        //"備註"
        XEText eMemo = new XEText(tbl("memo"),20,this,"memo");
        xlay.add(eMemo,0,0);

        this.addEditStateLabel("v",0,0,0);

        this.viewPack();
        setWorkObjectValue(DATA_RS);
        setWorkObjectEditStatus("view");
    }

}

Server: src/com/dasam/e3010001/server/edit/CmzZipCode.java
public class CmzZipCode extends XServiceEditI {

    public HashMap doWorkInit(HashMap map) throws Exception {
        setXUserInformationObject(map, true); //建立user
        setLastUpdateTime(map);
        this.tableStateId = "cmzZipCode";
        this.editTableName = tableStateId;
        this.setDeleteWorkMode(false); //設定使用作廢方式,
        this.isUnvoidWorkMode=true; //設定可使用回復作廢方式,
		if (filterString==null) filterString = XLet.getString(map.get("filter"));
        this.editSelect="select * from cmzZipCode a ";

        HashMap ret = defaultFunctions(map);
        return ret;
    }

}



修改4次,最後2011-06-25 18:26:44  

輕輕敲醒沈睡的心靈~  企鵝的初章 ^^
 
討論區首頁 » Java程式分析與設計
前往:   

2011 DASAMX GROUP.    Powered by JForum 2.1.9©    建議使用Firefox瀏覽