webbuilder总结.docx
- 文档编号:8496502
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:51.53KB
webbuilder总结.docx
《webbuilder总结.docx》由会员分享,可在线阅读,更多相关《webbuilder总结.docx(12页珍藏版)》请在冰豆网上搜索。
webbuilder总结
新建:
@Str.newStr
删除:
@Str.deleteStr
编辑:
@Str.edit
搜索:
@Str.search
重置:
@Str.reset
保存:
@Str.save
禁用:
@Str.disable
启用:
@Str.enable
获取到grid当前行的某个值:
varr=Wb.getSelRec(grid1)[0];alert(r.get('字段名'));或是vars=record.get('字段名');
表格中添加图标,图标根据表格中的字段改变Column的renderer属性中添加以下代码:
vars=record.get('USE_FLAG');
vara;
if(s=='启用'){
a=1;
}elseif(s=='禁用'){
a=0;
}
returnWb.getIconCls(['minus_icon','accept_icon'][a])+value;
Ajax方法:
Wb.request({url:
'main?
xwl=23TGBMBXXKCE',output:
[text1,text2],success:
function(r){
varo=Wb.decode(r.responseText);
for(iino.rows){alert(o.rows[i].id)}};
Wb.request({url:
"../xxxxx_xxxxx.do",params:
{objs:
objs},success:
function(a){
if(a.responseText=="true"){store.reload();Ext.Msg.alert("信息提示","保存成功!
");
}else{Ext.Msg.alert("信息提示","保存失败!
");}}});
跳转页面:
Wb.open('main?
xwl=23TGBLD4VTSM','付款方式——全款','user_icon',{a:
stuno.getValue()});
一个column显示两个字段的值,要到column的renderer中重新渲染:
returnrecord.get('field1')+record.get('field2');
获取store所有数据varobjs=newArray();
store.each(function(item){
objs.push(item.get("id")+","+item.get("b")+","+item.get("c"));
});
标准日期时间格式字符串可直接使用Timestamp.valueOf方法转换
Wb.confirm(gridMain,deleteAjax.request,'NAME');这里name处写什么就提示你‘确认删除什么’
获取id号varid=Wb.getId();获取登陆人idvarsysID='{#sys.user#}'名'{#sys.userName#}'获取当前请求ID‘{#sys.id#}’显示名’{#sys.dispName#}’获取当前时间{?
timestamp.sys.now?
},newDate()Ext.util.Format.date(newDate(),'Y-m-dH:
i:
s');
服务器端取值:
WebUtil.fetch(request,'colors')
设置控件为不可用状态:
控件id.setDisabled(true/false);
定义全局变量Wd.变量名(注意“W”一定要大写)如果不想用全局变量在module的initialize中定义也可实现本页面全局可见
resizable:
true,实现边框可拖动
output属性会提交容器下所有子控件的值
Wb.verify(panel)验证panel下所有子控件。
true返回成功。
用于非window下allowBlank属性的验证。
toolbar中button点击实现启用,禁用
Wb.confirm(grid1,function(){
varuseFlagTmp='禁用';
vartmpId=Wb.getSelRec(grid1)[0].get('ID');
Wb.request({url:
'main?
xwl=23TSJ732QF8L',params:
{ID:
tmpId,disable:
useFlagTmp},success:
function(r){
Wb.message('已禁用!
');
Wb.load(store1);
}});
},'FULL_NAME',Str.disable);
Wb.request({url:
'main?
xwl=23242432',params:
{},success:
function(r){}});
(selectDISTINCTSHORT_NAMEfromWB_SYS_COPwhereCOP_CODE=CORPID)as"CORPID"
(selectCOST_UNIT_CODEfromQY_STORE_UNITwhere(COST_UNIT_CODE={?
COST_UNIT_CODE?
}orCOST_UNIT_NAME={?
COST_UNIT_CODE?
}))
行模式双击表格事件:
varrecordFirst=store1.first();
//vargetModifiedRecords=userStore.getModifiedRecords();
varstoreHouseName=recordFirst.get('STOREHOUSE_NAME');
if(Ext.isEmpty(storeHouseName)){
varrowEditing=grid1.plugins[0];
//userStore.removeAt(0);
rowEditing.startEdit(0,1);
returnfalse;
}
使某个控件变暗不可用Ext.getCmp('saveBtn').disable();
一个框多个字段的查询,这里在toobar中使用
selectEMP_NAMEfromQY_EMPLOYEEwhereEMP_NAMElike{?
find?
}orZJMlike{?
find?
}
Rowediting的使用
Ext.create('Ext.grid.plugin.RowEditing',{
clicksToEdit:
2,
autoCancel:
false,
errorSummary:
false,
saveBtnText:
'保存',
cancelBtnText:
'取消',
listeners:
{
cancelEdit:
function(rowEditing,context){
storeBottom.removeAt(0);
},
edit:
function(rowEditing,context){
//grid2.plugins[0].completeEdit();
//storeBottom.sync({
//callback:
function(){
//Wb.unmask();
//Wb.load(storeBottom);
//}
//});
}
}
})
2014.07.09一、行模式combobox失去编辑状态后出现ID码问题。
首先在那行column的renderer属性中写:
varindex=copStore.find('COP_CODE',value);
if(index!
=-1){
returncopStore.getAt(index).get('SHORT_NAME');
}
returnrecord.get('SHORT_NAME');
查询的时候columns将ID码和要显示的名字都查出来并都显示在column中
二、可多选效果
NewExt.selection.CheckboxModel()
2014.07.11你可能会用到的(判重,得到查询数据)
//给子表添加数据
Wb.request({url:
'main?
xwl=23TZ9RPRBGOK',params:
{},success:
function(r){
varmsg=Wb.decode(r.responseText);
for(vari=0;i { varstoreHouseName=msg.rows[i].STOREHOUSE_NAME; varstoreHouseCode=msg.rows[i].STOREHOUSE_CODE; varidTmp=Wb.getId(); Wb.request({url: 'main? xwl=23TZ9RPRBGBJ',params: {ID: idTmp,SPARE_CODE: SPARE_CODE_,STOREHOUSE_NAME: storeHouseName,STOREHOUSE_CODE: storeHouseCode},success: function(r){}}); Wb.load(store1); } }}); 2014.07.14得到store的索引 varfirst=storeClass.first; comboBox2.setValue(first); 2014.07.15日期转化 jieCunTime=Ext.util.Format.date(newDate(),'Y-m-dH: i: s'); 转化grid表格时间格式: returnExt.util.Format.date(value,'Y-m-d'); Click事件得到可存进数据库vardate=DateUtil.formatDate(newDate(),"yyyy-MM-ddhh: mm: ss");(initscript里面写) varCREATE_DATE=DateUtil.formatDate(newDate(),"yyyy-MM-ddhh: mm: ss"); request.setAttribute('CREATE_DATE',CREATE_DATE); vardate=WebUtil.fetch(request,'end_dateCOL'); time=date.substr(0,10); a='23: 59: 59'; b=time+a; request.setAttribute('end_dateCOL',b); 初始化date控件: var_y=Wb.formatDate(newDate(),'Y'),_m=Wb.formatDate(newDate(),'m'); var_begin=Wb.formatDate(newDate(_y,_m-1,1),'Y-m-d'),_end=Wb.formatDate(newDate(_y,_m,0),'Y-m-d'); 得到comboBox的显示值 得到combobox的displayfield和valuefieldcomboBox1.getRawValue();comboBox1.getValue(); 2014.07.18EXTJS获取随机数与系统时间 ExtJs取系统时间就和JS一样: varmyDate=newDate(); //得到系统日期 myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-? ? ? ? ) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) 获取随机数也和JS一样: Math.random(); functionGetRandomNum(Min,Max) { varRange=Max-Min; varRand=Math.random(); return(Min+Math.round(Rand*Range)); } varnum=GetRandomNum(1,10); alert(num); varchars=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; functiongenerateMixed(n){ varres=""; for(vari=0;i varid=Math.ceil(Math.random()*35); res+=chars[id]; } returnres; } 1.Math.random();结果为0-1间的一个随机数(包括0,不包括1) 2.Math.floor(num);参数num为一个数值,函数结果为num的整数部分。 3.Math.round(num);参数num为一个数值,函数结果为num四舍五入后的整数。 Math: 数学对象,提供对数据的数学计算。 Math.random();返回0和1间(包括0,不包括1)的一个随机数。 Math.ceil(n);返回大于等于n的最小整数。 用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。 Math.round(n);返回n四舍五入后整数的值。 用Math.round(Math.random());可均衡获取0到1的随机整数。 用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。 Math.floor(n);返回小于等于n的最大整数。 用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。 2014.07.22Grid中的显示格式: return' right">'+value+' 行模式添加新的时候更新行号: grid1.getView().refresh(); 2014.07.28toobar中使startdate显示第一天,endtime显示最后一天: var_y=Wb.formatDate(newDate(),'Y'),_m=Wb.formatDate(newDate(),'m'); var_begin=Wb.formatDate(newDate(_y,_m-1,1),'Y-m-d'),_end=Wb.formatDate(newDate(_y,_m,0),'Y-m-d'); startDate.setValue(_begin); 2014.07.28隐藏域 给隐藏域赋值parent_id.xvalue=n.get('parent_id');这下可以不用把text设置隐藏代替隐藏域了 2014.07.31confirm确认 Wb.confirm(grid1,function(){ varuseFlagTmp='启用'; vartmpId=Wb.getSelRec(grid1)[0].get('ID'); Wb.request({url: 'main? xwl=23TSJ732QFD5',params: {ID: tmpId,enable: useFlagTmp},success: function(r){ Wb.load(store1); }}); },'FULL_NAME',Str.enable); 这里类似上边的确认: varr=Wb.getSelRec(grid1); varlen=r.length; if(len==1){ action(); }else{ Wb.warning('请选择需要授权的人'); } 2014.08.07加载时得到时间,时间截取 vardate=WebUtil.fetch(request,'in_date_end'); time=date.substr(0,10); a='23: 59: 59'; b=time+a; request.setAttribute('in_date_end',b); 2014.08.08生成编码时间流水账格式 time=Ext.util.Format.date(newDate(),'Y-m-d'); time1=time.toString(); con_type=time1.substr(0,4)+time1.substr(5,2); time2=time1.substr(5,2); Wb.request({url: 'main? xwl=23UL0TIW1DMR',params: {},success: function(r){ varmes=Wb.decode(r.responseText); varmaxCodeString=""; if(mes.rows[0].OUTPUT_BILL_CODE==null){ maxCodeString=1; }else{ if(time2! =mes.rows[0].MONTH){ maxCodeString=1; }else{ maxCodeString=mes.rows[0].OUTPUT_BILL_CODE; maxCodeString++; } } maxCodeString=con_type+Ext.String.leftPad(maxCodeString,3,'0'); }}); 2014.09.25 悬浮显示,Column中renderer加: metaData.tdAttr='data-qtip='+record.get('RECEIVING_PLACE'); returnvalue; 2014.09.27 Wb.request({url: 'main? xwl=23UZ9OTH146H',output: win, success: function(r){ Wb.load(store_main); Wb.message('修改成功'); win.hide(); }}); 2014.09.28 to_char(to_date(a.OUT_TIME,'yyyy-mm-ddhh24: mi: ss'),'mm-ddhh24: mi: ss') 2014.10.23 WB中Wb.confirm();方法不能用来提交grid,Wb.edit();可以用来提交grid。 2014.10.24行模式判空、判重 varmessage1=true,message2=true; //获取编辑过的的数据 //vars=grid1.getStore().getModifiedRecords(); vars=grid1.getStore().getRange(); if(s.length>0){ for(vari=0;i if(Ext.isEmpty(s[i].get('POS_CODE'))||Ext.isEmpty(s[i].get('ORDER_CODE'))){ message1=false; break; } for(varj=i+1;j console.info(s[j].get('POS_CODE'));console.info(s[i].get('POS_CODE')); if(s[j].get('POS_CODE')==s[i].get('POS_CODE')||s[i].get('ORDER_CODE')==s[j].get('ORDER_CODE')){ message2=false; break; } } } if(message1){ if(message2){ grid1.plugins[0].completeEdit(); positionStore.sync( { callback: function(){ Wb.unmask(); Wb.load(positionStore); } }); }else{ Wb.warning('轮位编码或排序有相同数据不能保存! '); } }else{ Wb.warning('轮位编码或排序不能为空! '); } }else{ Wb.warning('请录入需要保存的记录! '); } Store过滤器 1、store.filter(‘NAME’,’李斌’);//过滤出name为李斌的值 2、store.filterBy(); posCodeStore.clearFilter(true);//清除过滤器而不更新界面(UI) varb=true; varr=grid2.getStore(); for(vari=0;i //alert(i); posCodeStore.filterBy(function(record){ /*由函数来执行过滤.指定的函数将由Store中的每一条记录调用.如果函数返回true则将记录包含进来,否则将被过滤掉. 如果store有过滤器,那么访问store数据的大部分方法所处理的都是过滤后的记录.两个值得注意的例外是queryBy和getById.*/ for(vari=0;i if(record.get('POS_CODE')==r.getAt(i).get('POS_CODE')){ b=false;break; }else{ b=true; } } returnb; }); } 2014-11-15plugin使用 {ptype: "cell 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。