EasyUI之DataGrid(数据表格)

EasyUI Jquery 学习笔记 ——DataGrid(数据网格)与 Tree(树)详细版 数据网格(datagrid)以表格格式显示数据,并为选择、排序、分组和编辑数据提供了丰富的支持。数据网格(datagrid)的设计目的是为了减少开发时间,且不要求开发人员具备指定的知识。它是轻量级的,但是功能丰富。它的特性包括单元格合并,多列页眉,冻结列和页脚,等等。 阅读详情

DataGrid介绍

DataGrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富。单元格合并、多列标题、冻结列和页脚只是其中的一小部分功能。

使用案例

实现创建DataGrid,有两种方式
第一种:在HTML中定义列

<table class="easyui-datagrid">   
    <thead>   
        <tr>   
            <th data-options="field:'code'">编码</th>   
            <th data-options="field:'name'">名称</th>   
            <th data-options="field:'price'">价格</th>   
        </tr>   
    </thead>   
    <tbody>   
        <tr>   
            <td>001</td><td>名称1</td><td>2323</td>   
        </tr>   
        <tr>   
            <td>002</td><td>名称2</td><td>4612</td>   
        </tr>   
    </tbody>   
</table>  

通过< table>标签创建DataGrid控件。在表格内使用< th>标签定义列

<table class="easyui-datagrid" style="width:400px;height:250px"   
        data-options="url:'datagrid_data.json',fitColumns:true,singleSelect:true">   
    <thead>   
        <tr>   
            <th data-options="field:'code',width:100">编码</th>   
            <th data-options="field:'name',width:100">名称</th>   
            <th data-options="field:'price',width:100,align:'right'">价格</th>   
        </tr>   
    </thead>   
</table>  

第二种方式:
使用Javascript去创建DataGrid控件

<table id="dg"></table>  
$('#dg').datagrid({    
    url:'datagrid_data.json',    
    columns:[[    
        {field:'code',title:'代码',width:100},    
        {field:'name',title:'名称',width:100},    
        {field:'price',title:'价格',width:100,align:'right'}    
    ]]    
});  

我们来看一下DataGrid的属性、事件、方法
在这里插入图片描述
事件
在这里插入图片描述
方法
在这里插入图片描述

代码实现

需求:点击树形菜单显示tabs选项卡,在选项卡的基础上从数据库获取值展示数据
1、使用自定义mvc编码模式以datagrid组件表格的形式实现数据展示
2.、实体类(与数据中列字段必须保持一致)
数据库表结构
在这里插入图片描述

package com.liuchunming.entity;

import java.util.Date;

public class Book {
	private long id;
	private String name;
	private String pinyin;
	private long cid;
	private String author;
	private float price;
	private String image;
	private String publishing;
	private String description;
	private int state;
	private Date deployTime;
	private int sales;

3、dao方法继承basedao编写查询方法

package com.liuchunming.dao;

import java.sql.SQLException;
import java.util.List;

import com.liuchunming.entity.Book;
import com.liuchunming.util.BaseDao;
import com.liuchunming.util.PageBean;
import com.liuchunming.util.StringUtils;

public class BookDao extends BaseDao<Book>{
	
	public List<Book> list(Book book,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
		String name = book.getName();
		String sql="select * from t_easyui_book where true";
		if(StringUtils.isNotBlank(name)) {
			sql+=" and name like '%"+name+"%'";
		}
		
		return super.executeQuery(sql, Book.class, pageBean);
	}
}	

4、测试方法是否存在问题,编写mian方法测试

public static void main(String[] args) throws InstantiationException, IllegalAccessException, SQLException {
		Book book=new Book();
		BookDao bookDao =new BookDao();
		List<Book> list = bookDao.list(book, null);
		for (Book b : list) {
			System.out.println(b);
		}
	}

查询成功
在这里插入图片描述
5、编写web层实现类,继承ActionSupport类实现ModelDriven接口

package com.liuchunming.web;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.liuchunming.dao.BookDao;
import com.liuchunming.entity.Book;
import com.liuchunming.framework.ActionSupport;
import com.liuchunming.framework.ModelDriven;
import com.liuchunming.util.DateGridResult;
import com.liuchunming.util.PageBean;
import com.liuchunming.util.ResponseUtil;

public class BookAction extends ActionSupport implements ModelDriven<Book>{
	private Book book=new Book();
	private BookDao bookDao =new BookDao();
	
	@Override
	public Book getModel() {
		return book;
	}
	
	public String booklist(HttpServletRequest req,HttpServletResponse resp) {
//		total中的数据从哪来?--》pagebean total属性
//		rows的数据从哪来?--》每页的展示数据
		PageBean pageBean =new PageBean();
		pageBean.setRequest(req);
		try {
			List<Book> list = this.bookDao.list(book, pageBean);
			Map<String, Object> map =new HashMap<String, Object>();
			map.put("total", pageBean.getTotal());
			map.put("rows", list);
			ResponseUtil.writeJson(resp,map);
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}

通过url获取到数据转为json格式打印到前台显示,格式与官网文档要求一样
json官网格式

{"total":28,"rows":[
	{"productid":"FI-SW-01","productname":"Koi","unitcost":"10.00","status":"P","listprice":"36.50","attr1":"Large","itemid":"EST-1"},
	{"productid":"K9-DL-01","productname":"Dalmation","unitcost":"12.00","status":"P","listprice":"18.50","attr1":"Spotted Adult Female","itemid":"EST-10"},
	{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":"12.00","status":"P","listprice":"38.50","attr1":"Venomless","itemid":"EST-11"},
	{"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":"12.00","status":"P","listprice":"26.50","attr1":"Rattleless","itemid":"EST-12"},
	{"productid":"RP-LI-02","productname":"Iguana","unitcost":"12.00","status":"P","listprice":"35.50","attr1":"Green Adult","itemid":"EST-13"},
	{"productid":"FL-DSH-01","productname":"Manx","unitcost":"12.00","status":"P","listprice":"158.50","attr1":"Tailless","itemid":"EST-14"},
	{"productid":"FL-DSH-01","productname":"Manx","unitcost":"12.00","status":"P","listprice":"83.50","attr1":"With tail","itemid":"EST-15"},
	{"productid":"FL-DLH-02","productname":"Persian","unitcost":"12.00","status":"P","listprice":"23.50","attr1":"Adult Female","itemid":"EST-16"},
	{"productid":"FL-DLH-02","productname":"Persian","unitcost":"12.00","status":"P","listprice":"89.50","attr1":"Adult Male","itemid":"EST-17"},
	{"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":"92.00","status":"P","listprice":"63.50","attr1":"Adult Male","itemid":"EST-18"}
]}

根据需求如果需要实现业务多了,每一次都需要用到这段代码

List<Book> list = this.bookDao.list(book, pageBean);
			Map<String, Object> map =new HashMap<String, Object>();
			map.put("total", pageBean.getTotal());
			map.put("rows", list);
			ResponseUtil.writeJson(resp,map);

优化:用面向对象思维将total、rows看成对象封装成属性

package com.liuchunming.util;

public class DateGridResult<T> {
	private String total;
	private T rows;
	
	public static DateGridResult SUCCESS =new DateGridResult<>();
	
	public String getTotal() {
		return total;
	}
	public void setTotal(String total) {
		this.total = total;
	}
	public T getRows() {
		return rows;
	}
	public void setRows(T rows) {
		this.rows = rows;
	}
	private DateGridResult() {
		super();
	}
	private DateGridResult(String total, T rows) {
		super();
		this.total = total;
		this.rows = rows;
	}
	
	public static <T>  DateGridResult ok(String total,T rows){
		return new DateGridResult<>(total,rows);
	}
}

优化之后action代码

List<Book> list = this.bookDao.list(book, pageBean);
//			Map<String, Object> map =new HashMap<String, Object>();
//			map.put("total", pageBean.getTotal());
//			map.put("rows", list);
//			ResponseUtil.writeJson(resp, DateGridResult.SUCCESS);
			ResponseUtil.writeJson(resp, DateGridResult.ok(pageBean.getTotal()+"", list));

Ribbon 界面

6、需求:想给index界面添加一个工具栏
6.1、查看官方文档,找到Ribbon界面
下载扩展
在这里插入图片描述
6.2、导入 Ribbon 文件
创建Ribbon文件需要导入 ‘ribbon.css’,‘ribbon-icon.css’ 和 ‘jquery.ribbon.js’ 文件。

<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css"> 
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css"> 
<link rel="stylesheet" type="text/css" href="ribbon.css"> 
<link rel="stylesheet" type="text/css" href="ribbon-icon.css"> 
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery-1.8.0.min.js"></script> 
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script> 
<script type="text/javascript" src="jquery.ribbon.js"></script>

6.3、创建Ribbon
代码创建

<div class="easyui-ribbon" style="width:700px;"> 
<div title="Home"> 
<div class="ribbon-group"> 
<div class="ribbon-toolbar"> 
<a href="#" class="easyui-menubutton" data-options="name:'paste',iconCls:'icon-paste-large',iconAlign:'top',size:'large'">Paste</a> 
</div> 
<div class="ribbon-toolbar"> 
<a href="#" class="easyui-linkbutton" data-options="name:'cut',iconCls:'icon-cut',plain:true">Cut</a><br> 
<a href="#" class="easyui-linkbutton" data-options="name:'copy',iconCls:'icon-copy',plain:true">Copy</a><br> 
<a href="#" class="easyui-linkbutton" data-options="name:'format',iconCls:'icon-format',plain:true">Format</a> 
</div> 
<div class="ribbon-group-title">Clipboard</div> 
</div> 
<div class="ribbon-group-sep"></div> 
<div class="ribbon-group"> 
<div class="ribbon-toolbar" style="width:200px"></div> 
<div class="ribbon-group-title">other title</div> 
</div> 
<div class="ribbon-group-sep"></div> 
</div> 
</div>

通过 javascript 创建。

<div id="rr" style="width:700px;"></div> 
<script> 
$(function(){ 
$('#rr').ribbon({ 
data:data 
}); 
}); 
</script>

最后看效果图
在这里插入图片描述
在这里插入图片描述

总结

今天就到这里了如果有什么不对的地方欢迎大家在评论区留言交流改进!!

ASP.NET+ Jquery - easyUI开发篇(一)easyui的datagrid组件的使用 写在前面:本人是来自一所地方性大学的大四的本科生是第一次写技术blog,之前做了一个shibai的项目自己承诺过要把代码分享出来。。现在由于某些原因已经弃用ASP.NET了,但是回想之前学习的时候发现这种有针对某个框架的开发没多少技术资源,现特奉上自己的一点点意见,希望对大家有用....加油coding(其实我发现写再多的代码也没有实际的和一个妹子相处好,为什么有这种感慨呢,最近喜欢上一个妹子了,... 阅读详情

相关推荐

驯服电源尖峰:从BUCK/BOOST环路剖析到高di/dt噪声的实战抑制

本文深入探讨了电源系统中高di/dt噪声的产生机制及抑制方法,通过BUCK/BOOST电路的环路分析,揭示了电流路径不连续导致的电压尖峰问题。文章提供了实用的PCB布局技巧和噪声抑制策略,包括最短回路原则、铺铜优化和过孔阵列战术,帮助工程师有效降低EMI噪声,提升电源系统的稳定性。

weixin_29587015的博客 273

五、easyUI中的datagrid(数据表格)组件

五、easyUI中的datagrid(数据表格)组件

weixin_44230693的博客 7184

NCCL使用指南-进阶篇

前文介绍了NCCL的常用环境变量,本文介绍了NCCL-test性能基准测试,以及一些大规模集群测试的经验数据。

father_yingying的博客 1406

easyui—DataGrid(数据表格)

目录 一.DataGrid(数据表格) 一.DataGrid(数据表格) DataGrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。 使用案例 1.从现有的表格元素创建DataGrid,在HTML中定义列、行和数据 <table class="easyui-datagrid"> <thead> <tr> .

qq_67785529的博客 4865

Java实现双色球&大乐透随机选号算法——原理详解与代码实战

掌握核心语法:集合操作、随机数生成、排序。贴近实际场景:将编程知识应用于生活问题的解决。

wangchl0932的博客 4974

金蝶EAS uploadlogo漏洞实战:如何快速检测你的系统是否受影响

本文详细解析了金蝶EAS uploadlogo任意文件上传漏洞的检测与防护方法,帮助企业安全团队快速识别系统风险。通过资产发现、漏洞验证和应急响应方案,有效防范财务数据泄露和系统入侵风险,提升企业整体安全防护能力。

weixin_29322553的博客 386

easyUI之datagrid

这篇博文打算总结一下,我在项目中使用前端框架easyUI所遇到的一些用法。 先按照下面的图片说三个小的easyUI datagrid中的用法: 1.在easyUI datagrid中每条记录前面显示复选框,并且可以实现单选和全选功能 代码实现如下:{field:'checked',title:'<input type="checkbox" id="selectAll">',width:'2

墨笙弘一 3709

Python RPA 流程自动化快速上手

Python RPA 流程自动化快速上手

看花容易绣花难 1万+

easyUI 数据表格-datagrid

easyUI 数据表格-datagrid sf2gis@163.com 2015年9月28日   1 目标:数据的表格展示,网页版excel(具有所有功能)。 2 原理:table的扩展封装。 3 流程:创建table,设置为easyui-datagrid。设置属性和数据。       href="easyui/jquery-easyui-1.4.3/th

弗里曼的小伙伴 2754

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

cm4配置ros mavros连接pixhawk4 Pixhawk RPi CM4 Baseboard

baidu_41704597的博客 2127

无人船 | 基于ROS的轻量级多无人艇自主导航仿真框架

无人水面艇USV是海上自主无人系统的关键组成部分,在民用、军用领域应用广泛,例如海上救援、水质测量、扫雷反潜等,因此对USV导航算法的研究具有重要意义。为了便于进行USV相关算法的验证与部署,本文介绍的这套基于ROS的多无人艇的自主导航仿真平台,轻量化地实现了建图、规划、控制等多种功能,同时自研框架保证了功能的高度可拓展和可定制

FRIGIDWINTER的博客 8002

easyUI之datagrid(数据表格)使用

‘">’,**在界面中添加数据表格添加相关依赖每个表都需要建立相应的js建立book.js将demo文件中的datagrid.data1.json复制到WebContent目录下book.js代码如下:/*** 注意:js文件中不支持el表达式*/columns:[[{field:‘productname’,title:‘名称’,width:100},{field:‘unitcost’,title:‘价格’,width:100,align:‘right’}]]});})

1388

R语言机器学习:XGBoost线性回归模型的SHAP值

SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算

专注生信领域 3441

Easyui中DataGrid(数据表格)

Easyui中DataGrid(数据表格)1.DataGrid简介2.实现过程2.1jsp页面的代码块(两种方式)第一种第二种3.DataGrid属性4.实践操作4.1界面创建4.2js文件4.3界面效果(此为最简易版本)5.总结 1.DataGrid简介 DataGrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富。单元格合并、多列标题、冻结列和页脚只是其中的一小部分功能。 2.实

Smootht的博客 1189

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jQuery Easyui datagrid 数据表格的使用

jQueryEasyuidatagrid数据表格的使用 1、 在页面显示表格的位置 提供<table>标签,指定 id 元素 2、 在 JS 代码 $(“#grid”).datagrid({…}); 完成对表格设置 表格列定义 远程数据加载 分页 顶部工具栏 代码效果 ...

qq_40208605的博客 746

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

easyui DataGrid 数据表格 属性

easyui DataGrid 数据表格 属性

jules12345678的博客 154

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

EasyUi之DataGrid(数据表格)

目录简介使用案例实现查询功能总结 简介 DataGrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富。单元格合并、多列标题、冻结列和页脚只是其中的一小部分功能。 使用案例 1、从现有的表格元素创建DataGrid,在HTML中定义列、行和数据。 <table class="easyui-datagrid"> <thead>

hhhhhhhhzsw的博客 705

easyUI -datagrid表格数据不显示

出现easyUI -datagrid表格数据无法显示这种情况的可能原因有多方面的,可能是因情况而异吧,现在说一下日常做项目中我遇到过的这几个方面(原因二是我遇到过的,在网上看到也是常有的) 前提: 在写好jsp页面代码和后台查询数据库代码后,项目可以运行,发现datagrid中显示空白,Chrome浏览器的Developer Tools中没有报错,后台也能打印出后台传递到前台的json字符串。 原因一: datagrid只显示表头,无法显示表格数据,即出现如下图的情况: 即所需要渲染的表格只出现了表头,表

weixin_44543412的博客 4263

EasyUi之DataGrid(数据表格)实现增加、修改、删除

目录前言增加、修改、删除测试结果 前言 通过我们上一篇博客里的DataGrid实现了我们的查询,今天我们将要做的就是增加、修改、删除。 增加、修改、删除 我将增加和修改的方法合成为一个. Dao方法 // 增加 public int add(Book book) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException { // pinyin

hhhhhhhhzsw的博客 1986

EasyUI使用DataGrid数据表格实现增删改查

目录前言增加、修改功能的实现步骤三级目录 前言 接前文,已经用EasyUI的DataGrid组件实现了查询数据渲染的功能,这篇博文给大家分享下增删改的实现 增加、修改功能的实现步骤 先介绍一下增加功能的实现: 利用dialog组件进行同一页面增加,这个组件和模态框一个道理,只不过EasyUI的样式不太美观,引用: 要进行动态的页面传递数据到后台,那么给前文的增加按钮绑定事件: // 给新增按钮绑定点击事件 $("#btn-add").click(function() { $("#dd").dia

Dawn.x的博客 1317

easyui数据表格显示复选框_EasyUI DataGrid 复选框

使用checkbox,用户可以选定/取消数据行。添加checkbox列,我们简单的添加列的checkbox属性,并且设置为true。代码像这样:$('#tt').datagrid({title:'CheckboxSelect',iconCls:'icon-ok',width:600,height:250,url:'datagrid_data.json',idField:'itemid',colu...

weixin_42311115的博客 2489

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据。此处,我们使用Struts2框架整合DataGrid,实现数据的显示。 一、页面内容        为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <% String path = request

NIITYZU的专栏 2805

easyui数据表格DataGrid插件

easyui数据表格DataGrid插件 <div class="dg2" style="width:1200px;height:300px;margin:10px auto;"> <table id="dglist2" ></table> &lt...

悦分享 1177

Easyui之Datagrid(数据表格)

Datagrid前言1、概念2、常见使用案例3、datagrid属性4、datagrid事件5、datagrid方法6、案例演示7、为什么使用datagrid总结 前言 今天为大家分享的内容是datagrid,数据表格,用来展示表格中的数据! 1、概念 Datagrid是用来展示表格数据的一种组件! 2、常见使用案例 没错,我今天要讲的案例效果就和下面这张图差不多: 根据使用的不同情况和创建DataGrid的方式,分为以下三种: 1、如果从现有的表格元素去创建DataGrid,在HTML中定义列、行和数据

月亮投递员的博客 4126
上一篇: easyui-tabs组件
下一篇: 类图、时序图、用例图简单介绍
licmi
博客等级 码龄7年 31粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值