easy ui插件

时间:2022-08-10 17:02:05

简介:

  easy UI是类似于jQuery UI的插件库

注意:多脚本同时使用时,注意脚本冲突问题。

常用插件:

  1.tree插件(tree插件实现动态树形菜单)

  2.datagrid插件(datagrid插件构建列表展示远程数据


1.tree插件

  常用语法:$(selector).tree([settings]);

  常用属性:

  easy ui插件

  常用方法及事件:

  easy ui插件

  案例:(实现效果)

  easy ui插件

步骤如下:  

  (1).引入需要脚本配置

  <script type="text/javascript" src="../jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="../jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
<link rel="stylesheet" href="../jquery-easyui-1.2.6/demo/demo.css" type="text/css"></link>
<link rel="stylesheet" href="../jquery-easyui-1.2.6/themes/icon.css" type="text/css"></link>
<link rel="stylesheet" href="../jquery-easyui-1.2.6/themes/default/easyui.css" type="text/css"></link>

  (2).书写tree_data.json关于json配置的文件

[
{"id":1,"text":"S11","state":"open", "children":[{"id":11,"text":"Node 11"},
{"id":12,"text":"Node 12"}] },
{"id":2,"text":"Node 2","state":"closed"}
]

  (3).进行获取json,进行页面渲染。

  <script type="text/javascript">
$(function(){
$("#easyui-tree").tree({
url:'tree_data.json',
});
}); </script> </head>
<body>
<div class="demo-tip icon-tip"></div>
<h1>easyUI tree</h1>
<ul id="easyui-tree"> </ul>
</body>

  (4).然后就是tree插件的一些属性用法,及方法和事件解析:

  注意:属性展示效果的同时,要避免冲突,单个实现效果展示。

 <!-- 小图标特效脚本 -->
<link rel="shortcut icon" type="image/x-icon" href="<%=path %>/img/favicon.ico" />
<script type="text/javascript">
$(function(){
$("#easyui-tree").tree({
url:'tree_data.json',
checkbox:true,
onBeforeLoad:function(node,param){
// alert('开始请求数据');
//return false;
},
onLoadSuccess:function(node,data){
//alert('请求数据成功');
},
onLoadError:function(){
// alert('加载失败'); }, //当用户点击一个节点时触发
onClick:function(node){ //通过控制台查看书写属性的区别之别,大部分是进行获取一个id或者子节点的调试及新加子节点
console.log($('#easyui-tree').tree('getNode',node.target));
alert($(this).tree('getNode',node.target).checked);
console.log($('#easyui-tree').tree('getData',node.target)); console.log($('#easyui-tree').tree('getRoot',node.target)); console.log($('#easyui-tree').tree('getChildren',node.target)); if(($('#easyui-tree').tree('getChildren',node.target).length)==0){
$('#easyui-tree').tree('append',{
parent:node.target,
data:[{text:'新加的'}]
});
}
}, //onDblClick当用户双击一个节点时触发
onDblClick:function(node){
$(this).tree('toggle',node.target); },
//animate:true,
//级联选项卡
cascadeCheck:true,
onlyLeafCheck:false,
//拖拽
dnd:true,
}); }); //button里定义的方法,进行获取功能选项
//后期可进行功能分配
function sb(){
$('#easyui-tree').tree('loadData',[{text:'number11'}]); // $('#easyui-tree').tree('reload'); //console.log($('#easyui-tree').tree('getChecked')); //console.log($('#easyui-tree').tree('getSelected')); //console.log($('#easyui-tree').tree('find',12)); /* var node= $('#easyui-tree').tree('find',12);
$('#easyui-tree').tree('select',node.target); */ /* var node= $('#easyui-tree').tree('find',12);
$('#easyui-tree').tree('uncheck',node.target); */ /* var node= $('#easyui-tree').tree('find',1);
$('#easyui-tree').tree('collapse',node.target); */ //$('#easyui-tree').tree('expandAll'); } </script> </head>
<body>
<div class="demo-tip icon-tip"></div>
<h1>easyUI tree</h1>
<ul id="easyui-tree">
<li>S1</li>
<li>S2</li>
<li>Y2</li>
</ul>
<input type="button" id="used" value="功能性按钮" onclick="sb()"/>
</body>

经验:

  tree菜单数据要求使用json格式,并且符合其方法要求,建议格外小心,以避免不必要的麻烦。


2.datagrid插件

  语法:$(selector).datagrid([settings]); 

  常用属性:

 easy ui插件

  常用方法:

   easy ui插件

   常用事件:

 easy ui插件

easy ui插件


案例效果图:

  easy ui插件

步骤如下:

   (1).创建实体类GridNode,以备资源进行获取属性 

	private Long id;    //id
private String title; //标题
private String options; //备选项数
private String participants;//参选人数

   (2).创建datagrid_server.jsp进行构造数据,以及分页显示(服务器端代码)

%
//构造测试数据
List<GridNode> list=new ArrayList<GridNode>();
list.add(new GridNode(1L,"选出你心目中最好的下载工具","2","6"));
list.add(new GridNode(2L,"选出你心目中最好的下载工具","2","6"));
list.add(new GridNode(3L,"选出你心目中最好的下载工具","5","4"));
list.add(new GridNode(4L,"选出你心目中最好的下载工具","2","6"));
list.add(new GridNode(5L,"选出你心目中最好的下载工具","8","5"));
list.add(new GridNode(6L,"选出你心目中最好的下载工具","2","5"));
list.add(new GridNode(7L,"选出你心目中最好的下载工具","7","6"));
list.add(new GridNode(8L,"选出你心目中最好的下载工具","3","9"));
list.add(new GridNode(9L,"选出你心目中最好的下载工具","20","6"));
list.add(new GridNode(10L,"选出你心目中最好的下载工具","2","14"));
list.add(new GridNode(11L,"选出你心目中最好的下载工具","12","6"));
list.add(new GridNode(12L,"选出你心目中最好的下载工具","2","6")); //获取客户端传递的分页参数
Integer pageSize=Integer.parseInt(request.getParameter("rows"));
//默认参数rows表示每页显示记录条数
Integer pageNumber=Integer.parseInt(request.getParameter("page"));
//默认参数page表示的当前页数
StringBuilder builder = new StringBuilder("{\"total\":"+list.size()+",\"rows\":[");
int start=(pageNumber-1)*pageSize; //计算分页开始记录数
int end=start+pageSize; //计算分页结束记录数 //根据分页起始参数构建当前页的列表数据
for(int i=start;i<end&&i<list.size();i++){
GridNode gn=list.get(i);
builder.append("{\"id\":\""+gn.getId()+"\",\"title\":\""+gn.getTitle()+"\",\"options\":"+gn.getOptions()+",\"participants\":"+gn.getParticipants()+"},");
}
String gridJSON=builder.toString();
if(gridJSON.endsWith(",")){
gridJSON=gridJSON.substring(0, gridJSON.lastIndexOf(","));
}
out.print(gridJSON+"]}");
%>

     (3).创建datagrid1.jsp进行获取资源,然后进行设定属性

<script type="text/javascript">
$(function(){
$('#dg').datagrid({
//远程请求数据的url路径
url:'<%=path%>/datagrid/datagrid_server.jsp',
width:800,
height:300,
//表头的小头标
iconCls:'icon-search',
//显示行号
rowNumbers:true,
//显示底部分页栏
pagination:true,
//默认显示每页记录数
pageSize:5,
pageList:[5,10,15],
//指定列
columns:[[
{field:'ck',checkbox:true},
{field:'title',title:'投票标题',width:408},
{field:'options',title:'备选项数',width:60,align:'center'},
{field:'participants',title:'参与人数',width:60,align:'center'}
]],
loadMsg:"正努力为您加载中......",
//只允许选中一行
singleSelect:true,
//隔行变色
striped:true,
rownumbers:true,
}); });
</script>
</head> <body>
<!-- 定义用来存放列表的空间 -->
<table id="dg" title="投票管理" class="easyui-grid"></table>
</body>


 谨记每天要做的事。