EasyUI Jquery 学习笔记 ——DataGrid(数据网格)与 Tree(树)详细版

embedded/2024/9/19 0:48:34/ 标签: easyui, jquery, 学习

1. DataGrid(数据网格)与 Tree(树)

1.1 Datagrid 数据网格 

扩展自 $.fn.panel.defaults。通过 $.fn.datagrid.defaults 重写默认的 defaults。

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

依赖

  • panel
  • resizable
  • linkbutton
  • pagination

用法

从已有的表格元素创建数据网格(datagrid),在 html 中定义列、行及数据。

<table class="easyui-datagrid">
<thead>
<tr>
<th data-options="field:'code'">Code</th>
<th data-options="field:'name'">Name</th>
<th data-options="field:'price'">Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>001</td><td>name1</td><td>2323</td>
</tr>
<tr>
<td>002</td><td>name2</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">Code</th>
<th data-options="field:'name',width:100">Name</th>
<th data-options="field:'price',width:100,align:'right'">Price</th>
</tr>
</thead>
</table>

也可以使用 javascript 创建数据网格(datagrid)。

    <table id="dg"></table>$('#dg').datagrid({url:'datagrid_data.json',columns:[[{field:'code',title:'Code',width:100},{field:'name',title:'Name',width:100},{field:'price',title:'Price',width:100,align:'right'}]]});

通过一些参数查询数据。

$('#dg').datagrid('load', {
name: 'easyui',
address: 'ho'
});

在向服务器改变数据之后,更新前台数据。

$('#dg').datagrid('reload'); // reload the current page data

数据网格(DataGrid)属性

该属性扩展自面板(panel),下面是为数据网格(datagrid)添加的属性。

名称类型描述默认值
columnsarray数据网格(datagrid)的列(column)的配置对象,更多细节请参见列(column)属性。undefined
frozenColumnsarray和列(column)属性一样,但是这些列将被冻结在左边。undefined
fitColumnsboolean设置为 true,则会自动扩大或缩小列的尺寸以适应网格的宽度并且防止水平滚动。false
resizeHandlestring调整列的位置,可用的值有:'left'、'right'、'both'。当设置为 'right' 时,用户可通过拖拽列头部的右边缘来调整列。
该属性自版本 1.3.2 起可用。
right
autoRowHeightboolean定义是否设置基于该行内容的行高度。设置为 false,则可以提高加载性能。true
toolbararray,selector数据网格(datagrid)面板的头部工具栏。可能的值:
1、数组,每个工具选项与链接按钮(linkbutton)一样。
2、选择器,只是工具栏。

在 <div> 标签内定义工具栏:
 
  1. $('#dg').datagrid({
  2. toolbar: '#tb'
  3. });
  4. <div id="tb">
  5. <a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"></a>
  6. <a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-help',plain:true"></a>
  7. </div>
通过数组定义工具栏:
 
  1. $('#dg').datagrid({
  2. toolbar: [{
  3. iconCls: 'icon-edit',
  4. handler: function(){alert('edit')}
  5. },'-',{
  6. iconCls: 'icon-help',
  7. handler: function(){alert('help')}
  8. }]
  9. });
null
stripedboolean设置为 true,则把行条纹化。(即奇偶行使用不同背景色)false
methodstring请求远程数据的方法(method)类型。post
nowrapboolean设置为 true,则把数据显示在一行里。设置为 true 可提高加载性能。true
idFieldstring指示哪个字段是标识字段。null
urlstring从远程站点请求数据的 URL。null
dataarray,object要加载的数据。该属性自版本 1.3.2 起可用。
代码实例:
 
  1. $('#dg').datagrid({
  2. data: [
  3. {f1:'value11', f2:'value12'},
  4. {f1:'value21', f2:'value22'}
  5. ]
  6. });
null
loadMsgstring当从远程站点加载数据时,显示的提示消息。Processing, please wait …
paginationboolean设置为 true,则在数据网格(datagrid)底部显示分页工具栏。false
rownumbersboolean设置为 true,则显示带有行号的列。false
singleSelectboolean设置为 true,则只允许选中一行。false
checkOnSelectboolean如果设置为 true,当用户点击某一行时,则会选中/取消选中复选框。如果设置为 false 时,只有当用户点击了复选框时,才会选中/取消选中复选框。
该属性自版本 1.3 起可用。
true
selectOnCheckboolean如果设置为 true,点击复选框将会选中该行。如果设置为 false,选中该行将不会选中复选框。
该属性自版本 1.3 起可用。
true
pagePositionstring定义分页栏的位置。可用的值有:'top'、'bottom'、'both'。
该属性自版本 1.3 起可用。
bottom
pageNumbernumber当设置了 pagination 属性时,初始化页码。1
pageSizenumber当设置了 pagination 属性时,初始化页面尺寸。10
pageListarray当设置了 pagination 属性时,初始化页面尺寸的选择列表。[10,20,30,40,50]
queryParamsobject当请求远程数据时,发送的额外参数。
代码实例:
 
  1. $('#dg').datagrid({
  2. queryParams: {
  3. name: 'easyui',
  4. subject: 'datagrid'
  5. }
  6. });
{}
sortNamestring定义可以排序的列。null
sortOrderstring定义列的排序顺序,只能用 'asc' 或 'desc'。asc
multiSortboolean定义是否启用多列排序。该属性自版本 1.3.4 起可用。false
remoteSortboolean定义是否从服务器排序数据。true
showHeaderboolean定义是否显示行的头部。true
showFooterboolean定义是否显示行的底部。false
scrollbarSizenumber滚动条宽度(当滚动条是垂直的时候)或者滚动条的高度(当滚动条是水平的时候)。18
rowStylerfunction返回例如 'background:red' 的样式。该函数需要两个参数:
rowIndex:行的索引,从 0 开始。
rowData:该行相应的记录。

代码实例:
 
  1. $('#dg').datagrid({
  2. rowStyler: function(index,row){
  3. if (row.listprice>80){
  4. return 'background-color:#6293BB;color:#fff;'; // return inline style
  5. // the function can return predefined css class and inline style
  6. // return {class:'r1', style:{'color:#fff'}};
  7. }
  8. }
  9. });
loaderfunction定义如何从远程服务器加载数据。返回 false 则取消该动作。该函数有下列参数:
param:要传递到远程服务器的参数对象。
success(data):当检索数据成功时调用的回调函数。
error():当检索数据失败时调用的回调函数。
json loader
loadFilterfunction返回要显示的过滤数据。该函数有一个参数 'data' ,表示原始数据。您可以把原始数据变成标准数据格式。该函数必须返回标准数据对象,含有 'total' 和 'rows' 属性。
代码实例:
 
  1. // removing 'd' object from asp.net web service json output
  2. $('#dg').datagrid({
  3. loadFilter: function(data){
  4. if (data.d){
  5. return data.d;
  6. } else {
  7. return data;
  8. }
  9. }
  10. });
editorsobject定义编辑行时的编辑器。predefined editors
viewobject定义数据网格(datagrid)的视图。default view

列(Column)属性

数据网格(DataGrid) 的列(Column)是一个数组对象,它的每个元素也是一个数组。元素数组的元素是一个配置对象,它定义了每个列的字段。

代码实例:

columns:[[
{field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true},
{field:'productid',title:'Product ID',rowspan:2,width:80,sortable:true},
{title:'Item Details',colspan:4}
],[
{field:'listprice',title:'List Price',width:80,align:'right',sortable:true},
{field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true},
{field:'attr1',title:'Attribute',width:100},
{field:'status',title:'Status',width:60}
]]
名称类型描述默认值
titlestring列的标题文本。undefined
fieldstring列的字段名。undefined
widthnumber列的宽度。如果未定义,则宽度会自动扩展以适应它的内容。没有定义宽度将会降低性能。undefined
rowspannumber指示一个单元格占据多少行。undefined
colspannumber指示一个单元格占据多少列。undefined
alignstring指示如何对齐该列的数据,可以用 'left'、'right'、'center'。undefined
halignstring指示如何对齐该列的头部,可能的值:'left'、'right'、'center'。如果没有分配值,则头部对齐方式将与通过 'align' 属性定义的数据对齐方式一致。该属性自版本 1.3.2 起可用。undefined
sortableboolean设置为 true,则允许该列被排序。undefined
orderstring默认的排序顺序,只能用 'asc' 或 'desc'。该属性自版本 1.3.2 起可用。undefined
resizableboolean设置为 true,则允许该列可调整尺寸。undefined
fixedboolean设置为 true,则当 'fitColum

http://www.ppmy.cn/embedded/1899.html

相关文章

【python+Excel】读取和存储测试数据完成接口自动化测试

http_request2.py用于发起http请求 #读取多条测试用例 #1、导入requests模块 import requests #从 class_12_19.do_excel1导入read_data函数 from do_excel2 import read_data from do_excel2 import write_data from do_excel2 import count_case #定义http请求函数COOKIENon…

TCP机械臂测试

#include<myhead.h> #define SER_IP "192.168.125.242" #define SER_PORT 1234 #define CLI_IP "192.168.243.131" #define CLI_PORT 9999 int main(int argc, const char *argv[]) { //1、创建用于通信的套接字文件描述符 int cfd socket(…

【多线程】单例模式 | 饿汉模式 | 懒汉模式 | 指令重排序问题

文章目录 单例模式一、单例模式1.饿汉模式2.懒汉模式&#xff08;单线程&#xff09;3.懒汉模式&#xff08;多线程&#xff09;改进 4.指令重排序1.概念2.question:3.解决方法4总结&#xff1a; 单例模式 一、单例模式 单例&#xff0c;就是单个实例 在有些场景中&#xff0c…

2024年华中杯B题论文发布+数据预处理问题一代码免费分享

【腾讯文档】2024年华中杯B题资料汇总 https://docs.qq.com/doc/DSExMdnNsamxCVUJt 行车轨迹估计交通信号灯周期问题 摘要 在城市化迅速发展的今天&#xff0c;交通管理和优化已成为关键的城市运营问题之一。本文将基于题目给出的数据&#xff0c;对行车轨迹估计交通信号灯…

期货开户需要长期稳定的获利

一言蔽之&#xff0c;盈利之“道”&#xff0c;原是你在“一切皆空”的跟随式的“被盈利”。人们做任何事情&#xff0c;都讲求“能力”二字&#xff0c;有人有计算能力&#xff0c;就去攻读数学&#xff1b;有人有动作能力&#xff0c;就去搞体育运动&#xff1b;有人有唱歌能…

Docker 学习笔记

Docker 概述 Docker &#xff1a;容器化技术 Docker 安装

kafka快速入门+应用

Kafka, 构建TB级异步消息系统 0.mq优劣 优点&#xff1a;应用解耦、异步提速、削峰填谷 缺点&#xff1a;系统可用性降低、系统复杂度提高、一致性问题 mq特点&#xff1a;消息不丢失、支持消息存储 1.快速入门 1.1 阻塞队列 在生产线程 和 消费线程 之间起到了 &#xff…

“好”玩游戏让我本能痴迷游戏编程

源地址&#xff1a;https://www.ctvol.com/c-cdevelopment/5842.html 我的游戏生涯是从最开始的热血传奇开始的&#xff0c;那时候&#xff0c;我们年少轻狂&#xff0c;不知道多少80后的青春都洒在了这个游戏上面&#xff0c;那时候&#xff0c;热血传奇的热度比现在的英雄联…

【位运算】Leetcode 判定字符是否唯一

题目解析 算法讲解 正常思路&#xff1a;使用unordered_map判断并保存每一个字符出现的次数&#xff0c;如果当前的字符在添加到Hash之前已经出现了一次了&#xff0c;直接返回false&#xff0c;反之循环结束返回true 优化思路&#xff1a;可以使用位图来充当Hash表&#xff…

项目之旅(前两周)

文章目录 学习总结input1.text 文本框2.password 密码框3.button 按钮4.file 文件还可定义上传类型 5.日期6.radio 单选框7. checkbox 复选框 项目总结生活总结 学习总结 input 本次写项目时才发现&#xff0c;input有很多种用法&#xff0c;这里列举几种 1.text 文本框 不…

阿里云4核16G服务器可以用来做什么?

阿里云4核16G服务器可以用来做什么&#xff1f;可用来搭建游戏服务器&#xff0c;阿里云4核16G服务器10M带宽30元1个月、90元3个月&#xff0c;优惠活动 aliyunfuwuqi.com/go/youhui 阿里云4核16G服务器可以用来做什么&#xff1f;除了搭建游戏服务器&#xff0c;还可以用来哪…

网络协议学习——以太网协议

目录 ​编辑 一&#xff0c;以太网简介 二&#xff0c;以太网通信的过程 为什么不用IP地址&#xff1f; 过程 MAC帧 MAC帧的字段介绍 ARP协议 传输过程的一些问题 RARP协议 提高效率 三&#xff0c;其他问题 ARP诈骗问题 URL解析过程 一&#xff0c;以太网简介 …

Java刷题API

因为经常用Java刷题&#xff0c;记录一下常用到的API 数组 1. 定义&#xff08;两种方法&#xff09; type arrayName[]; //第一种 type[] arrayName; //第二种//eg int arrayName[] new int[5]; int[] arrayName new int[5];//二维数组 int arrayName[][] new int[5][5]…

数据结构从入门到实战——顺序表

目录 前言 一、顺序表的概念及结构 1.1 线性表 二、顺序表分类 三、动态顺序表的实现 3.1 顺序表结构的创建以及初始化 3.2 顺序表的销毁 3.3 顺序表的打印 3.4 尾插数据 ——最困难的 3.5 头插数据 3.6 尾删数据 3.7 头部删除数据 前言 在计算机科学和数据结…

深入浅出理解CSS中的文本样式与排版:探索文字之美

在Web设计与开发的广阔天地里&#xff0c;CSS&#xff08;层叠样式表&#xff09;对于网页文本的呈现与排版起着举足轻重的作用。CSS中与文本相关的属性繁多而细致&#xff0c;涵盖了字体选择、大小调整、颜色填充、对齐方式、缩进、间距调整以及更多高级样式处理。本文将以通俗…

web安全学习笔记(11)

记一下第十五节课的内容。 一、创建MySQL执行函数 我们在function.php中&#xff0c;自定义一个函数&#xff1a; #SQL查询函数 function Qurey($sql) {#连接数据库$db new mysqli(172.20.10.3, liuyan, 123456, liuyan, 3306);#判断是否连接成功if (mysqli_connect_errno(…

2024年150道高频Java面试题(三十二)

63. 线程的 run() 和 start() 有什么区别&#xff1f; 在Java中&#xff0c;run()方法和start()方法是线程操作中的两个核心方法&#xff0c;它们来自于Thread类。 run()方法&#xff1a; run()方法是一个线程的实际执行代码所在的方法。它是一个由Runnable接口定义的抽象方…

MySQL怎么排查慢sql语句,排查后一般怎么优化

当排查和优化MySQL中的慢SQL语句时&#xff0c;通常会涉及以下步骤&#xff1a; 识别慢查询&#xff1a; 使用MySQL的慢查询日志&#xff08;slow query log&#xff09;来记录执行时间超过一定阈值的SQL语句。你可以通过修改MySQL配置文件来启用慢查询日志&#xff0c;并设置阈…

桌面应用程序测试与网站应用程序测试

不断发展的技术使应用程序面临众多威胁&#xff0c;尤其是在更新期间。计算机系统上有两种基本的应用程序类型&#xff1a;桌面应用程序和网站应用程序。由于这些应用程序运行在不同的环境中&#xff0c;因此需要相应的应用程序测试方法。 桌面应用程序测试就是对桌面应用程序…

springCloud项目打包 ,maven package或install打包报错

解决思路一&#xff1a; <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.7.RELEASE</version></plugin><plugin>&…