webbuilder学习2

//最新get到的知识点放在上面
1.多个查询结果放在一个grid里,并根据查询的列自动显示几列
在module的initial里加:
Wd.evalRender=function(cols){
  var i,j=cols.length;
  for(i=0;i<j;i++){
    if(cols[i].renderer)
      cols[i].renderer=Ext.decode(cols[i].renderer);
  }
  return cols;
}
在store里放:
grid_data.reconfigure(store,evalRender(store.proxy.reader.rawData.columns));


在dataProvider 的 createColumns 设置成true






1.在一个window里面放2个grid,window的layout属性选择accordion(可折叠的),在对应store里放grid


1.不用column,自动适应显示表的所有列
在dataProvider 的 createColumns 设置成true


1.展示的列前面带选择框
在grid的 selType里checkboxmodel




1.tabPanel是能左右切换窗口的页面


1.批量删除
写一删除按钮,click里直接请假删除的ajax,在ajax里的output写当前的grid,在删除语句的arrayName里写当前的grid,






1.数据库行数太多(几十万)
在查询的sql里 from 后加   (select ICD10.* ,rownum as rn from ICD10 这拼条件查询)  where rn >={#start#} and rn<{#start#}+{#limit#}
在totalsql里统计下 SELECT count(*) FROM ICD10




1.根据输入的是数字或者其他进行搜索
在initscript里
if(/^[0-9]+.?[0-9]*$/.test(name1)){
  var name=name1-28768954;
  Wb.println(request,name1);
  where = "and u_id = '"+name+"'";
}
else if(name1.length()==0){
where = "";
}
else {
  var name=name1;
  Wb.println(request,name1);
  //where = "and u_nick = '"+name+"'";
}


1.在输入框默认提示字
emptytext的属性里设置




1.moudle的loginRequired属性,
指示模块不能由匿名用户访问,如果loginrequired是假的然后大家可以访问模块,默认为true。


1.实现下拉框选择,根据输入内容实时查询
在combox box的store中添加一个查询的store,valuefield、displayfield中放
要显示的字段值


1.更改每页显示的条数
在store 的pagesize中设置




1.多个页面竖着显示
加panel,layout=fit


1.更改文件上传的大小
在管理工具—变量配置-webbuild-service-upload-maxsize,更改


1。选择多条删除
在delete的moudle里arrayName 选择对应的grid




1.实现下拉框。获取下拉框的汉字名称
管理工具里的兼职编辑器添加key,value。在Windows下添加combobox控件,在控件的keyname里写上兼职编辑器里添加的key名字。
。用下拉框的id,如type.getRawValue(),获取汉字名称


1.在window的click里给ajax传值
 updateAjax.params.level=level;




1.判断是否存在,给提示
先查询
SELECT COUNT(*)daren_order  FROM USER  WHERE daren_order={?daren_order?}
加Execept控件
name 里放query1.daren_order
comparator里放<,>,=
value里放0,




1.双击选中的记录弹出框来
在对应的grid-itemdblclick,editBtn.fireEvent('click')再次调用编辑的事件


1.根据返回值0,1在列表显示汉字,加颜色
在array-column-renderer里写(就是对应的列)
if(value==0){
return '否';
}
if(value==1){
 return '<span style="color:green;">已通过</span>';
}
if(value==null){
return '否';
}




1.给ajax传值
zixunajax.request({Info_id:ID.value},{name:name.value},{answer:answer.value});


1、Wb.reset(panel1);      重置功能,把文本内容清空
button1.fireEvent('click'); 再次调用button1的点击事件


需要重置多个框时,
Wb.reset(grid1_bar); //清空文本框内容
store1.params.XMNAME=''; //给对应的store 传值 ,空值
store1.params.XMCODE='';
Wb.load(store1);  //加载 对应store,会执行查询






2、在查询的module 下 initscript 中var book_cbrq=request.getParameter("book_cbrq");
Wb.println(request,book_name);
if(!Wb.isEmpty(book_name)&&book_name!=null){
  w+=" and book_name like {?book_name?}";
}






3、在查询的module里initscript里,定义一个变量,然后传给对象的查询语句


var follow = '';
var XMCODE = request.getParameter('XMCODE');//
var XMNAME=request.getParameter('XMNAME');//项目代码


if(XMCODE&&!Wb.isEmpty(XMCODE)&&XMCODE!=''){
  follow += " and XMCODE like {?XMCODE?}";
}


if(XMNAME&&!Wb.isEmpty(XMNAME)&&XMNAME!=''){
  follow += " and XMNAME like {?XMNAME?}";
}
request.setAttribute('XMNAME',"%"+XMNAME+"%");
request.setAttribute('XMCODE',"%"+XMCODE+"%");
request.setAttribute('follow',follow);


在sql 里拼上变量的条件查询
SELECT [tid] ID
      ,[XMCODE] ItemBianHao
      ,[XMNAME]
      ,[ZBJD]
      ,[tbr]
      ,[tbrq]
  FROM [MingXiXiangMu] where 1=1  {#follow#}

猜你喜欢

转载自blog.csdn.net/qq_23337175/article/details/81013225