//import win.ui; /*DSG{{*/ var winform = ..win.form(text="材料信息管理窗口";right=600;bottom=400;edge=1;parent=...) winform.add( button={cls="button";text="新增";left=396;top=271;right=469;bottom=302;group=1;z=12}; button2={cls="button";text="刪除";left=498;top=271;right=571;bottom=302;group=1;z=13}; button3={cls="button";text="修改";left=398;top=336;right=471;bottom=367;group=1;z=14}; button4={cls="button";text="返回";left=495;top=334;right=568;bottom=365;group=1;z=2}; button5={cls="button";text="選擇";left=131;top=339;right=212;bottom=369;z=16}; groupbox={cls="groupbox";left=370;top=11;right=589;bottom=385;cp=1;edge=1;group=1;z=15}; groupbox2={cls="groupbox";text="材料列表";left=7;top=12;right=361;bottom=387;edge=1;z=1}; name={cls="edit";left=461;top=90;right=573;bottom=115;edge=1;group=1;z=9}; showid={cls="edit";left=461;top=38;right=573;bottom=63;edge=1;group=1;readonly=1;z=8}; static1={cls="static";text="材料編碼";left=393;top=41;right=445;bottom=66;group=1;transparent=1;z=3}; static2={cls="static";text="材料名稱";left=393;top=92;right=445;bottom=117;group=1;transparent=1;z=4}; static3={cls="static";text="規格型號";left=393;top=144;right=445;bottom=169;group=1;transparent=1;z=5}; static4={cls="static";text="計量單位";left=393;top=196;right=445;bottom=221;group=1;transparent=1;z=6}; static5={cls="static";left=19;top=34;right=351;bottom=294;border=1;transparent=1;z=7}; tp={cls="edit";left=461;top=141;right=573;bottom=166;edge=1;group=1;z=10}; unit={cls="edit";left=462;top=193;right=573;bottom=218;edge=1;group=1;z=11} ) /*}}*/ import com; var db = sqlite("/store.db"); var dataGrid = winform.static5.createEmbed("MSFlexGridLib.MSFlexGrid.1"); var gd = dataGrid._object with gd{ Cols =4 // 列 Rows = 1 //行 setTextMatrix(0,0,"材料編碼") setTextMatrix(0,1,"材料名稱") setTextMatrix(0,2,"規格型號") setTextMatrix(0,3,"計量單位") AllowUserResizing =1 } var showData = function(id,na,tp,un){//列表顯示數據 with gd{ Rows = gd.Rows + 1 row = gd.Rows-1 col = 0 Text = id col = 1 Text = na col = 2 Text = tp col = 3 Text = un } } var nid = tostring(1000) for id,name,tp,un in db.each("SELECT * from [Goods] ORDER BY GoodsId") {//屬性賦值寫法 showData(id,name,tp,un) if(nid<id) nid = id } winform.button2.disabled = 1 winform.button3.disabled = 1 dataGrid.DblClick = function(){//MSFlexGrid雙擊事件 if(gd.Row = 0) return ; gd.col = 0 var rs = db.stepQuery("SELECT * FROM [Goods]",{GoodsId = gd.Text}) if(rs){ winform.showid.text = rs.GoodsId winform.name.text = rs.GoodsName winform.tp.text = rs.Type winform.unit.text = rs.Unit } winform.button2.disabled = 0 winform.button3.disabled = 0 } assignment = function(){//文本框賦值 var id = winform.showid.text var name = winform.name.text var tp = winform.tp.text var un = winform.unit.text return id,name,tp,un; } winform.button5.oncommand = function(id,event){//選擇; dataGrid.DblClick(db) } winform.button.oncommand = function(id,event){//新增; winform.showid.text = nid+1 var id,name,tp,un = assignment() winform.name.setFocus() if(!#name){ winform.msgbox("請輸入材料名稱") winform.name.setFocus() } elseif(!#tp){ winform.msgbox("請輸入規格型號") winform.tp.setFocus() } elseif(!#un){ winform.msgbox("請輸入計量單位") winform.unit.setFocus() } else{ var rs = db.stepQuery("SELECT * FROM [Goods]",{GoodsName=name;Unit=un;Type=tp }) if(rs){ winform.msgbox("已經存在此種材料的記錄") }else{ db.exec("insert into [Goods] values(@GoodsId,@GoodsName,@Type,@Unit);",{GoodsId=id;GoodsName=name;Unit=un;Type=tp}) showData(id,name,tp,un) nid = id } } } winform.button2.oncommand = function(id,event){//刪除; var id = assignment() var rs = db.stepQuery("SELECT * FROM [Goods]",{GoodsId=id}) if(rs){ if(!winform.msgboxTest("您肯定要刪除該紀錄嗎?,這可能會致使數據的丟失")){ return ; }else{ db.exec("DELETE FROM [Goods] where GoodsId=@gid;",{gid=id}) gd.RemoveItem(gd.RowSel) } } } winform.button3.oncommand = function(id,event){//修改; var id,name,tp,un = assignment() if(!winform.msgboxTest("您肯定要修改該紀錄嗎?")){ return ; } else{ var rs = db.stepQuery("SELECT * FROM [Goods]",{GoodsName=name;Unit=un;Type=tp }) if(rs){ winform.msgbox("已經存在此種材料的記錄"+rs.GoodsId) } else{ db.exec("UPDATE [Goods] SET GoodsName = @name,Unit= @un,Type = @tp WHERE GoodsId = @id;",{id=id;name=name;un=un;tp=tp}); gd.col = 1 gd.Text = name gd.col = 2 gd.Text = tp gd.col = 3 gd.Text = un } } } winform.button4.oncommand = function(id,event){//返回; db.close(); winform.close() ; } winform.show(); win.loopMessage(); return winform;