EasyUI DataGrid 单元格编辑 注释版

2024-08-26 16:48

本文主要是介绍EasyUI DataGrid 单元格编辑 注释版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    最近做组织部项目的时候,需要点击Datagrid,然后能够写入数值;研究了半天没明白是什么意思,后来查资料的时候,直接在easyUI 中文网的Demo中找到了相同的代码,但是代码没有注释,依然不是很理解,后来找同伴一块推敲,基本掌握了整个思路,写出注释来给大家分享;

EeayUI中文网Demo及展示效果:http://www.jeasyui.net/demo/332.html


效果图:


HTML代码;

                    <table id="dg" class="easyui-datagrid" style="width: 1000px; height: 280px;"data-options=" iconCls: 'icon-edit',toolbar: '#tb',rownumbers:true,singleSelect: false,url: 'QuantifyRecord.ashx/ProcessRequest',method:'get',pagination:true,onClickCell: onClickCell"><thead><%--field中带有editor的是能够编辑的,其他列是不能编辑的--%><tr><th data-options="field:'ck',checkbox:true"></th><th data-options="field:'DepartmentName',width:200">单位名称</th><th data-options="field:'Name',width:350">指标名称</th><%--数字,小数点4位,--%><th data-options="field:'Data',width:150,editor:{type:'numberbox',options:{ precision:4}}">成绩</th><th data-options="field:'remarks',width:150,editor:'text'">备注</th></tr></thead></table>

Js代码:

 <script type="text/javascript">//可编辑的datagrid  --TODO:范晓权 给EasyUI扩展方法;添加editCell方法;//方法扩展editCell;$.extend($.fn.datagrid.methods, {//两个参数// jq: // param:对象,包含index 和 鼠标点击的列属性;//jq = [table#dg.easyui-datagrid, context: document, selector: "#dg"], param = Object {index: 1, field: "Data"}  选择的是Data列,editCell: function (jq, param) {//each() 遍历;return jq.each(function () {//options:返回属性对象。 这个时候的this代表:jq;var opts = $(this).datagrid('options');                                                                                                       //getColumnFields:返回列的字段,如果 frozen 设置为 true,则冻结列的字段被返回。//concat:用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本//与HTML的editor属性有关;能够编辑的列和不能编辑的列;//fields的值,和上面HTML对应;//Array[5]//0: "ck"//1: "DepartmentName"//2: "Name"//3: "Data"//4: "remarks"var fields = $(this).datagrid('getColumnFields', true).concat($(this).datagrid('getColumnFields'));//下面for循环,设定列能够编辑。当不能编辑时,editor的值为undefined,能够编辑值为text;for (var i = 0; i < fields.length; i++) {var col = $(this).datagrid('getColumnOption', fields[i]);col.editor1 = col.editor;//循环到的列,不等于鼠标点击的那一列时,设定列的editor的值为null;if (fields[i] != param.field) {col.editor = null;}}//开始对一行进行编辑。param.index 为行号;对选中的一行进行编辑;$(this).datagrid('beginEdit', param.index);//for循环,设置colfor (var i = 0; i < fields.length; i++) {//getColumnOption:返回指定列的选项。var col = $(this).datagrid('getColumnOption', fields[i]);//给列的editor属性赋值;text 或者其他;col.editor = col.editor1;}});}});//定义一个 行号遍历 赋值为undefined;var editIndex = undefined;//该函数的返回值为Boolean;function endEditing() {if (editIndex == undefined) { return true }//验证指定的行,有效时返回 true。 -范晓权if ($('#dg').datagrid('validateRow', editIndex)) {//结束对一行进行编辑。$('#dg').datagrid('endEdit', editIndex);editIndex = undefined;return true;} else {return false;}}//双击单元格,index是行值,field是列的字段名;function onClickCell(index, field) {//endEditing 的返回值是boolean 值;当返回值为true的时候;if (endEditing()) {//选中一行,行索引从 0 开始。$('#dg').datagrid('selectRow', index)//行值和字段内容  TODO:范晓权.datagrid('editCell', { index: index, field: field });//选中的行值赋值给editIndex;editIndex = index;}}</script>

总结:

    一种学习的方式叫做站在巨人的肩膀上,首先研究别人的代码,然后改进代码,最后成为自己的代码。实现功能是一种学习,更重要的是能够融汇贯通,而这需要对知识有一个静下心了解和探索的过程;

这篇关于EasyUI DataGrid 单元格编辑 注释版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109126

相关文章

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

Python实现获取带合并单元格的表格数据

《Python实现获取带合并单元格的表格数据》由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,所以本文我们就来聊聊如何使用Python实现获取带合并单元格的表格数据吧... 由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,现将将封装成类,并通过调用list_exc

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格

Python+Tkinter实现Windows Hosts文件编辑管理工具

《Python+Tkinter实现WindowsHosts文件编辑管理工具》在日常开发和网络调试或科学上网场景中,Hosts文件修改是每个开发者都绕不开的必修课,本文将完整解析一个基于Python... 目录一、前言:为什么我们需要专业的Hosts管理工具二、工具核心功能全景图2.1 基础功能模块2.2 进

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

Python中的输入输出与注释教程

《Python中的输入输出与注释教程》:本文主要介绍Python中的输入输出与注释教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、print 输出功能1. 基础用法2. 多参数输出3. 格式化输出4. 换行控制二、input 输入功能1. 基础用法2. 类

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工