2021年7月

图标在 system/css/icon.css

添加一个按钮必须三步,第一个字符串,第二个append,第三个描述一下控件

var x = left+(i-1)*width;  每个按钮的left绝对定位

不能把 if(style.indexOf('plain')>=0) 写在控件属性里 

style=';'+style+';';

防止 style出现 xrplain;selectedd 这样的问题,判断用 ;plain;
class="easyui-separator"  竖线也用 $().linkbutton()

style==undefined  参数不定义

layout层中不要写东西
class="easyui-layout" data-options="fit:true" 可以写body里
centerpanel 剩下的  region=north/south/east/west

split:true 可以拉的分割线
audio:
controls  控制板
loop 循环播放
datalist('selectRow',0); 触发 控件里的 onSelected事件

Tabs 选项卡

filebox 列表

取控件某一个属性
var w = $("#myForm1").panel('options').width;

修改文本框的值
$("#stunname").textbox('setValue','张学友');

事件
$("").textbox({
onChange:function(newv,oldv){},
buttonIcon:'locationIcon',
onClickButton:function(){
   s=$("#stuname").textbox('getValue');
   alert(s);
     }
})
用户定义函数

select sys_getPyCode($str) as pycode;

调用
p={];
p.str= 赋值
rs= 调用存储过程
var s = rs.rows[0].pycode;

myRunSqlProcedure 需要调用 system/easuui_functions.js
省份改变后,通过事件把城市data改变

$("").combobox({
data:rs.rows,
label:'省份',
labelWidth:66,
labelAlign:'right',
valueField: 'areaid',
textField: 'areaname',
height:28,
width:280,
onSelect:function(row){
  .....
  $("").combobox({data:rs.rows});
}
})

$("").combobox('select',rs.rows[10].areaid);

$("").combobox('loadData',rs.rows);  注意语句顺序
editable:false

if(rows.length>15) $().combox({panelHeight:200});
else  $().combox({panelHeight:'auto'});
格式变换器,每一行执行
formatter:function(row){
var opts= $(this).combobox('options');
s=row[opts.textField];
....
return s;

作业1:
自己设计一个页面,把easyui Form(表单)的控件能用的全部用上
<%@ include file="system/easyui_header_plugin.jsp"%>

头文件包含多个css、js引用
<div id="xxx" class="easyui-panel" data-options="title:'aaaaa',width:400" style=""></div>

data-options 填写控件属性,间隔逗号。style里面写html语句
style 比 data-options 执行要迟,js里最迟

js里面写控件class没效果,html里面class有效果
$('#XXX').textbox(); 真正动态产生控件

tips:外面加一个层把绝对定位放到层里

$('#XXX').textbox({
label:'',
labelwidth:'',
width:300,
labelAlign:'right'
});
控件生成函数

function CreateTextbox(xparent,xid,xlabel,xlabelwidth,xtop,xleft,xheight,xwidth,xvalue){
if(xheight<=0) xheight=28;
if(xlabelwidth<=0) xlabelwidth=70;
   str='<div style="position:absolute; top:'+xtop+'px; left:'+xleft+'px;">
<input id="'+xid+'" class="easyui-textbox" /></div>';
   $('#'+xparent).append(str);
   $('#'+xid).textbox({
   label: xlabel+':',
   labelwidth:xlabelwidth,
   height:xheight,
   width:xwidth,
   labelAlign:'right'
   });
}
$(...).numberbox('textbox').css("text-align","right");  //右对齐

if($('#xxx').length>0) 判断控件是否存在

checkbox 内置属性 onclick="xx(xx);" 点击后调用具体函数
$('#xxx').prop("checked",true);

id='_checkbox'+(row.sysrownow-1); 

this.options[this.options.selectedIndex].value  select里选中的值
批量只读或disabled
$('input, select, textarea').each(function(index)){
      var type=$(this).attr('type');
      if(type=='select')$(this).attr("disabled",true);
      else $(this).attr("readOnly","readOnly");
}

删除 $(this).val('');
增删改查函数使用

var row={};
row._action=''; // 采取何种行为  add、delete、replace
row._reloadflag=1; //修改数据后重新加载数据
row.customerid='xxxxx'

var p={};
p.data=[];
p.data.push(row);
p.database='';
p.tablename='mysales.customers';
p.keyfield='customerid';
p.sortfield='';
rs=myRunSqlProcedure('sys_runEditRows',p);
each循环 将各个控件的键、值保存到对象中

var row={};
$('input, select, textarea').each(function(index)){
      var id=$(this).attr('id');
      row[id]=$(this).val();
}

微信图片_20210710193906.png

取青海省有哪些市

select * from city where parentnodeid='63';

取市有哪些区县

select * from city where parentnodeid='6301';

区县有哪些街道

select * from city where parentnodeid='630102';
四个地方取四个DIV ID
HTML DIV范例:
<div style="border:1px solid #95BBE7;font-size:13px;float:left;width:220px;margin:8px 0px 8px 8px;>
<div id="title" style="background-color:#E0ECFF;height:28px;line-height:28px;border-bottom:1px solid #95B8E7;">&nbsp;省份</div>
<div id="province" style="overflow:auto;height:352px;padding:2px 2px 4px 8px;"></div>
</div>
JS:
$(function(){
var p ={};
p.parentnodeid='';  //省份没有父节点
rs=myRunSqlProcedure('xxx',p);
rows=rs.rows;
str='';
for(var i=0;i<rows.length;i++){
      str+='<span style="display:inline-block;width:190px;"><a href="javascript:fn1(\''+rows[i].areaid
+'\')">' +rows[i].areaname +'</a></span>';
   }
$('#province').html(str);
$('#city').html('');
$('#district').html('');
$('#town').html('');
});

注:传Level为fn1函数用,用来判断输出到哪个层

即javascript:fn1(\''+rows[i].areaid+'\','+rows[i].level+')
function fn1(areaid)
{
var p ={};
p.parentnodeid=areaid;  //
rs=myRunSqlProcedure('xxx',p);
rows=rs.rows;
str='';
for(var i=0;i<rows.length;i++){
      str+='<span style="display:inline-block;width:190px;"><a href="javascript:fn1(\''+rows[i].areaid
+'\')">' +rows[i].areaname +'</a></span>';
   }
$('#province').html(str);
}
判断输出语句

if(level==1){
     $('#city').html(str);
     $('#district').html('');
     $('#town').html('');
}
elseif(level==2){
     $('#district').html(str);
     $('#town').html('');
}
elseif(level==3)$('#town').html(str);

//title里面加点过的值,把areaname传入fn1函数里
分页系统:
body里第一层 overflow-y:hidden  竖的滚动条不需要
表头table标签不加border

给你一个表名,把该表的列取出来,为 json_object 使用

方案一:使用系统表   information_schema.COLUMNS

select * from information_schema.COLUMNS where table_name='orders' and table_schema='mysales';

常用:column_name,is_nullable,column_type,column_key,extra

column_key 里有PRI、Extra里有 auto_increment

注:不同的数据库下面可以有相同的表
drop procedure if exists p1;
delimiter $$
create procedure p1
(
$tablename varchar(100),
out $fieldset mediumtext
)
begin
select json_arrayagg(json_object('field',column_name,'type',column_type)) into $fieldset
from information_schema.columns where table_name=$tablename and table_schema='mysales';
end $$
delimiter ;
call p1('employees',@s);
select @s;
方案二
show columns 不过不能用into 
set @str = '';
show columns from emploees where @str:=concat(@str,if(@str<>'',',',''),
'{"field":"',lower(field),'","type":"',type,'"}');
select concat('[',@str,']');

注:在存储过程里用prepare语句

其他:white-space:nowrap  不换行 
overflowellipsis 多行文本溢出显示省略号
jsp 画图
写json
.....
xdata=[];
for(var i=0;i<rs.rows.length;i++){
r={};
r.name=rs.rows[i].customerid;
r.y=parseFloat(rs.rows[i].amt);
if(i==0){
r.sliced=true;
r.selected=true;
}
xdata.push(r);
}
console.log(xdata);
fn()