//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;
转载于:https://my.oschina.net/u/1438716/blog/204258