import godking.vlistEx;
import fonts.fontAwesome
import win.ui;
/*DSG{{*/
mainForm = win.form(text="客户信息管理";right=967;bottom=556;border="none")
mainForm.add(
addData={cls="plus";text='\uF067 新增';left=8;top=80;right=77;bottom=110;bgcolor=15780518;dl=1;dt=1;font=LOGFONT(h=-16;name='FontAwesome');notify=1;z=4};
bkplus={cls="bkplus";left=-3;top=-2;right=972;bottom=76;aw=1;bgcolor=32768;z=1};
delData={cls="plus";text='\uF068 删除';left=80;top=80;right=149;bottom=110;bgcolor=15780518;dl=1;dt=1;font=LOGFONT(h=-16;name='FontAwesome');notify=1;z=5};
edit={cls="edit";left=752;top=80;right=960;bottom=112;edge=1;z=8};
plus={cls="plus";left=12;top=8;right=81;bottom=66;background="\google-play-books.ico";dl=1;dt=1;z=2};
static={cls="static";text="客户信息管理";left=89;top=10;right=313;bottom=59;color=65535;dl=1;dt=1;font=LOGFONT(h=-35);transparent=1;z=3};
static2={cls="static";text="客户名称查询";left=630;top=84;right=739;bottom=109;align="right";color=16711680;dr=1;dt=1;font=LOGFONT(h=-16);transparent=1;z=6};
vlist={cls="vlistEx";left=6;top=116;right=965;bottom=554;ah=1;aw=1;dl=1;dt=1;edge=1;z=7}
)
/*}}*/
import win.ui.simpleWindow;
win.ui.simpleWindow(mainForm);
//表头设置
mainForm.vlist.headerFont = ::LOGFONT(name="黑体";h=17;color=0xFFFFFF );/*【属性】表头文本字体*/
mainForm.vlist.headerAlign = 1; //表头字体居中
mainForm.vlist.headerBkcolor = 0xFF901E; //表头背景颜色
mainForm.vlist.bkColor2 = 0x98FB98;
//连接数据库
import godking.conn
var db = godking.conn.openAccess("/Database.accdb"/*文件名*/,/*密码*/)
//初始显示数据
var sql = "select id,pname as 姓名,iif(sex,'男','女') as 性别,age as 年龄,addr as 地址 from [人员名单] order by id"
var t = db.getTable( sql,false/*数组*/,/*开始行*/,/*总行数*/,/*格式化参数*/ );
mainForm.vlist.setTable(t,/*列标题*/,/*列宽*/,1/*0左1中2右*/,/*字典转为数组*/,/*字符串转为Utf8*/,/*是否克隆新表*/)
//新增
mainForm.addData.oncommand = function(id,event){
var rs = db.rs("[人员名单]");
rs.AddNew();
rs.setValue("sex",1);
rs.UpDate();
var id = rs.getValue("ID");
rs.close()
mainForm.vlist.addRow({id=id,性别="男",年龄=0});
}
//删除(可同时删除多行)
mainForm.delData.oncommand = function(id,event){
var rows,ids = mainForm.vlist.getSelected(,1/*列号或字典key*/);
if #ids {
var idstr = ..string.join(ids,",")
var sql = "DELETE from [人员名单] WHERE id in ("++idstr++")";
if !db.exec(sql) {
..win.msgbox("删除数据失败!");
} else {
for(i=#rows;1;-1){
mainForm.vlist.delRow(rows[i]);
}
}
}
}
//编辑
mainForm.vlist.onEditEnd = function(row/*行*/,col/*列*/,text/*内容*/,endType){
if row and col {
var id = owner.getCellText(row,1);
if id {
var field = ({"pname","sex","age","addr"})[col-1];
var value = text;
if col==2 or col==5 {
value ='"'++text++'"';
} elseif col==3 {
value = text==="男"?1:0;
} elseif col==4{
value = tonumber(text,10):0; //年龄不能太大哦
}
var sql = "UPDATE [人员名单] SET "++field++"="++value++" WHERE id="++id;
if !db.exec(sql) {
..win.msgbox("数据更新失败");
return false;
}
}
}
}
// 查询
mainForm.edit.oncommand = function(id,event){
if mainForm.edit.text = "" {
mainForm.vlist.filter()
} else {
mainForm.vlist.filter(mainForm.edit.text,"姓名",true/*模糊*/);
mainForm.vlist.update()
}
}
//禁止编辑id列
mainForm.vlist.onEditBegin = {false,1};
mainForm.vlist.setColumnType(3/*列号*/,1/*_vlistEx_ColType_ComboBox*/,true/*是否显示箭头或图片*/,0xAAAAAA/*箭头颜色或图片*/ );
mainForm.vlist.getComboBox().items={"男","女"}
mainForm.show();
return win.loopMessage();
exec函数的格式化参数用法:
import godking.vlistEx;
import fonts.fontAwesome
import win.ui;
/*DSG{{*/
mainForm = win.form(text="客户信息管理";right=967;bottom=556;border="none")
mainForm.add(
addData={cls="plus";text='\uF067 新增';left=8;top=80;right=77;bottom=110;bgcolor=15780518;dl=1;dt=1;font=LOGFONT(h=-16;name='FontAwesome');notify=1;z=4};
bkplus={cls="bkplus";left=-3;top=-2;right=972;bottom=76;aw=1;bgcolor=32768;z=1};
delData={cls="plus";text='\uF068 删除';left=80;top=80;right=149;bottom=110;bgcolor=15780518;dl=1;dt=1;font=LOGFONT(h=-16;name='FontAwesome');notify=1;z=5};
edit={cls="edit";left=752;top=80;right=960;bottom=112;edge=1;z=8};
plus={cls="plus";left=12;top=8;right=81;bottom=66;background="\google-play-books.ico";dl=1;dt=1;z=2};
static={cls="static";text="客户信息管理";left=89;top=10;right=313;bottom=59;color=65535;dl=1;dt=1;font=LOGFONT(h=-35);transparent=1;z=3};
static2={cls="static";text="客户名称查询";left=630;top=84;right=739;bottom=109;align="right";color=16711680;dr=1;dt=1;font=LOGFONT(h=-16);transparent=1;z=6};
vlist={cls="vlistEx";left=6;top=116;right=965;bottom=554;ah=1;aw=1;dl=1;dt=1;edge=1;z=7}
)
/*}}*/
import win.ui.simpleWindow;
win.ui.simpleWindow(mainForm);
//表头设置
mainForm.vlist.headerFont = ::LOGFONT(name="黑体";h=17;color=0xFFFFFF );/*【属性】表头文本字体*/
mainForm.vlist.headerAlign = 1; //表头字体居中
mainForm.vlist.headerBkcolor = 0xFF901E; //表头背景颜色
mainForm.vlist.bkColor2 = 0x98FB98;
//连接数据库
import godking.conn
var db = godking.conn.openAccess("/Database.accdb"/*文件名*/,/*密码*/);
if !db error("数据库连接失败");
//初始显示数据
var sql = "select id,pname as 姓名,iif(sex,'男','女') as 性别,age as 年龄,addr as 地址 from [人员名单] order by id"
var t = db.getTable( sql,false/*数组*/,/*开始行*/,/*总行数*/,/*格式化参数*/ );
mainForm.vlist.setTable(t,/*列标题*/,/*列宽*/,1/*0左1中2右*/,/*字典转为数组*/,/*字符串转为Utf8*/,/*是否克隆新表*/);
//新增
mainForm.addData.oncommand = function(id,event){
var rs = db.rs("[人员名单]");
rs.AddNew();
rs.setValue("sex",1);
rs.UpDate();
var id = rs.getValue("ID");
rs.close()
mainForm.vlist.addRow({id=id,性别="男",年龄=0});
}
//删除(可同时删除多行)
mainForm.delData.oncommand = function(id,event){
var rows,ids = mainForm.vlist.getSelected(,1/*列号或字典key*/);
if #ids {
var sql = "DELETE from [人员名单] WHERE id in (?)";
if !db.exec(sql,ids) {
..win.msgbox("删除数据失败!");
} else {
mainForm.vlist.delRow(rows);
}
}
}
//编辑
mainForm.vlist.onEditEnd = function(row/*行*/,col/*列*/,text/*内容*/,endType){
if row and col {
var id = tonumber(owner.getCellText(row,1));
if id {
var field = ({"pname","sex","age","addr"})[col-1];
var value = text;
if col==3 {
value = text==="男";
} elseif col==4{
value = tonumber(text,10):0;
if value<=0 or value>500 return false; //年龄不能太大或太小哦
text = tostring(value);
}
var sql = "UPDATE [人员名单] SET ??=? WHERE id=?";
if !db.exec(sql,field,value,id) {
..win.msgbox("数据更新失败");
return false;
}
return text;
}
}
}
// 查询
mainForm.edit.oncommand = function(id,event){
if mainForm.edit.text = "" {
mainForm.vlist.filter();
} else {
mainForm.vlist.filter(mainForm.edit.text,"姓名",true/*模糊*/);
}
}
//禁止编辑id列
mainForm.vlist.onEditBegin = {false,1};
mainForm.vlist.setColumnType(3/*列号*/,1/*_vlistEx_ColType_ComboBox*/,true/*是否显示箭头或图片*/,0xAAAAAA/*箭头颜色或图片*/ );
mainForm.vlist.getComboBox().items={"男","女"};
mainForm.onClose = function(hwnd,message,wParam,lParam){
db.close();
}
mainForm.show();
return win.loopMessage();