easyui 一些小技巧
一、显示分页(pagination:true)情况下,隐藏每页显示的记录条数的那个select(即pageList),下图箭头
方法1:
onBeforeLoad:function(param){
$('#'+$(this)[0].id).datagrid('getPager').pagination({
showPageList:false
});
},
onLoadSuccess:function(data){
$('#'+$(this)[0].id).datagrid('getPager').pagination({
showPageList:false
});
}
方法2:
onBeforeLoad:function(param){
$('.pagination-page-list').hide();
},
onLoadSuccess:function(data){
$('.pagination-page-list').hide();
}
方法3:
css样式:select.pagination-page-list{display:none}
方法4:
$("#dgOrderList").datagrid({
url:'。。。',
queryParams:{。。。},
});
写在datagrid获取数据url之后,
$("#dgOrderList").datagrid('getPager').pagination({
showPageList: false
});
二、在第n页,检索,利用queryParams方法,datagrid组装参数时,会自动添加page=n,而不会切换到第1页
方法1:
$("#dgOrderList").datagrid({
pageNumber:1,
url:url,
queryParams:{key:name,value:value}
});
方法2:用load方法
$dgOrderList.datagrid('load',param);//会自动添加&page=1&rows=。。
param为空对象时:$('#dgWorkers').datagrid('load',{});//会去除page、rows以外的参数,且置page=1
三、个人常用,mark一下
$.messager.confirm('提示','确定要删除所选项目吗?',function(r){
if (r){}
})
四、linkbutton的disabled并不阻止事件,需要在事件中进行判断
if($(this).linkbutton('options').disabled){
return false;
}
五、 dialog闪现问题。在一个页面使用一个dialog,初始隐藏(closed="true"),但是在页面刷新的一瞬间,这个dialog会显示出来,效果非常难看
方法一:
<div style="display:none">
<div class="easyui-dialog"></div>
</div>
dialog用一个隐藏div包含起来,一个div包好几个diglog也可以,显示的时候直接dialog('open')就可以
方法二:
设定dialog的style display:none,然后在页面加载完后再让它display:block或show(),或者$('dialog').show().dialog('open')
六、显示尾行合计(图片与下文无关)
方法一,加载后在js中计算,但对formatter的列无效
//表格定义时显示footer
showFooter:true,
//定义加载成功事件,列名:数据
onLoadSuccess:function(data){
$(this).datagrid('reloadFooter', [{
heJi:'合计',
tNo:compute(data.rows, "tNo"),
workhour:compute(data.rows, "workhour"),
pay:compute(data.rows, "pay"),
}]);
},
//定义合计函数
function compute(rows,colName) {
var total = 0;
for (var i = 0; i < rows.length; i++) {
total += parseFloat(isNaN(rows[i][colName])||$.trim(rows[i][colName])==''?0:rows[i][colName]);
}
return parseFloat(total.toFixed(2));
}
方法二、后台返回一个footer行(PHP为例)
showFooter:true,
//footer行对应列要显示的内容,如合计后的内容,可以加一个标识如footer,用于标明改行是footer内容,在formatter时可能会用到
$footer=array(array('heJi'=>'合计','tNo'=>$tNo,'workhour'=>$workhour,'pay'=>$pay,'footer'=>1));
//返回数据中以footer为键值
echo json_encode(array('code'=>1,'msg'=>'查询成功','total'=>count($rows),'rows'=>$rows,'footer'=>$footer));
注:footer行的显示同样受formatter影响
七、获得当前选中的tabs
1、 var index=$('#tabs').tabs('getTabIndex',$('#tabs').tabs('getSelected')); //从0开始
2、tabs的onSelect改变一个全局变量的值,用于标记选中的tab
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2017-06-05 今年最丧的45句话发人深省......
2017-06-05 今年最丧的45句话发人深省......
2017-06-05 今年最丧的45句话发人深省......
2017-06-05 虚方法virtual详解(转载)