1.目的

如图所示,实现行编辑栏中的编辑删除,以及在时间建议中显示上中下旬

可参考easyui官方文档中所写的关于datagrid列属性:http://www.jeasyui.net/plugins/183.html

可知formatter有三个参数:

value:字段的值。
rowData:行的记录数据。
rowIndex:行的索引。

实现代码如下:

html代码:

<!-- 多从表显示表 -->
<div
data-options="region:'south',iconCls:'icon-reload',title:'',split:true,border:false,bodyCls:'border_top',height:'55%'">
<div data-toggle="topjui-tabs"
data-options="id:'slaveTabs',
fit:true,
border:false,
parentGrid:{
type:'datagrid',
id:'mainDg',
param:'c0:uuid'
}">
<div title="需求表详细" data-options="id:'tab0',iconCls:'fa fa-th'">
<table data-toggle="topjui-datagrid"
data-options="id:'detailDg',
singleSelect:false,
selectOnCheck:true,
checkOnSelect:true,
initCreate: false,
reloadAfterSave:true,
idField:'uuid',
url:'WorkingRequirementDetails/indexHandle.jsp?flags=queryByC0'
">
<thead>
<tr>
<th data-options="field:'uuid',title:'标识',checkbox:true"></th>
<th data-options="field:'c1',title:'所属集团军',width:150"></th>
<th data-options="field:'c2',title:'装备专业',width:100"></th>
<th data-options="field:'c3',title:'武器系统名称',width:100"></th>
<th data-options="field:'c4',title:'数量',sortable:true"></th>
<th data-options="field:'c5',title:'单位',sortable:true"></th>
<th data-options="field:'c6',title:'装备所属部队',sortable:true,width:150"></th>
<th data-options="field:'c7',title:'部队驻地',sortable:true"></th>
<th data-options="field:'c8',title:'时间建议',sortable:true,formatter:timeFormatter"></th>
<th data-options="field:'c9',title:'工作方式',sortable:true"></th>
<th data-options="field: 'handle', title: '操作', sortable: false, width:100,align:'center',formatter:operateFormatterDetail"></th>
</tr>
</thead>
</table>
</div>
</div>

js代码

/**
* 从表单元格内容进行格式化操作
*/
function operateFormatterDetail(value, row, index) {
var htmlstr = '<button class="layui-btn layui-btn-xs" onclick="openDetailEditDiag(\'' + row.uuid + '\')">编辑</button>';
htmlstr += '<button class="layui-btn layui-btn-xs layui-btn-danger" onclick="deleteDetailRow(\'' + row.uuid + '\')">删除</button>';
return htmlstr;
} /**
* 从表时间建议进行格式化操作
*/
function timeFormatter(value, row, index) {
var rst = row.c8;
var str2 = rst.substring(0,4)+"年";
var str3 = rst.substring(5,7)+"月";
//获取2019-03-22中的22
var time = rst.substring(8,rst.length);
console.log(time);
if(parseInt(time)<10){
time = str2+str3+"上旬";
}else if(parseInt(time)>20){
time = str2+str3+"下旬";
}else{
time = str2+str3+"中旬";
}
return time;
}
/**
* 以主键对子表进行数据修改操作
*/
function openDetailEditDiag(uuid) {
//创建form表单
var $editDialog = $('<form></form>'); // $('#editDialog')用这个查找不能二次打开
$editDialog.iDialog({
title : '修改需求表数据',
width : 600,
height : 400,
closed : false,
cache : false,
collapsible : 0,
resizable : 0, //定义是否可以调整对话框的大小
iconCls : 'fa fa-pencil',
maximizable : 0,
href : 'WorkingRequirementDetails/indexDatail.html',
modal : true, //设置为模式窗口,窗口外的其他元素不能够点击
buttons : [ {
text : '保存',
iconCls : 'fa fa-save',
btnCls : 'topjui-btn-blue',
handler : function() { //保存按键AJAX处理
var formData = $editDialog.serializeArray(); //进行序列化操作,返回json数组
jQuery.ajax({
type : 'POST', //请求方式
url : "WorkingRequirementDetails/indexHandle.jsp?flags=update",
dataType : "json", //预期服务器返回的数据类型
contentType : "application/x-www-form-urlencoded;charset=UTF-8", //返回给服务器时候的字符编码
data : formData, //发送到服务器上的数据
success : function(data) {
showMessage(data);
if (data.statusCode == 200) { //修改成功的状态码为200
$editDialog.iDialog('close'); //关闭对话框
$('#detailDg').iDatagrid('reload'); //数据表格重新加载一遍
}
},
error : function(data) {}
});
}
}, {
text : '关闭',
iconCls : 'fa fa-close',
btnCls : 'topjui-btn-red',
handler : function() {
$editDialog.iDialog('close');
}
} ],
onLoad : function() { //在dialog给文本框打开的时候给文本框赋值
//加载表单数据
$.getJSON('WorkingRequirementDetails/indexHandle.jsp?flags=detail&uuid=' + uuid, function(data) {
$editDialog.form('load', data);
});
}
});
} /**
* 以主键方式对子表数据进行删除操作
*/
function deleteDetailRow(uuid) {
$.iMessager.confirm('操作提示', '所选择的数据一经删除将不可恢复,是否确认进行此操作?', function(r) {
if (r) {
//异步提交删除数据
$.ajax({
type : 'POST',
url : "WorkingRequirementDetails/indexHandle.jsp?flags=delete",
dataType : "json",
contentType : "application/x-www-form-urlencoded;charset=UTF-8",
data : {
"uuid" : uuid
}, //构建主键
success : function(data) {
showMessage(data);
if (data.statusCode == 200) { //操作成功重载数据
$('#detailDg').iDatagrid('reload');
}
},
error : function(data) { //错误处理
}
});
}
});
}

formatter的使用的更多相关文章

  1. EasyUI DataGrid formatter 格式化增加链接

            function fLoadTable() {             $('#tt').datagrid({                 title: '',           ...

  2. jquery EasyUI的formatter格式化函数代码

    要格式化数据表格列,需要设置formatter属性,该属性是一个函数,它包含两个参数:  value: 对应字段的当前列的值  record: 当前行的记录数据  复制代码 代码如下: $('#tt' ...

  3. EasyUI-datagrid 对于展示数据进行处理(formatter)

    一:声明datagrid列,在列中添加formatter属性,并指定js方法 columns = [[ { title: '编号', field: 'Id', width: 100, sortable ...

  4. Android Studio Eclipse Code Formatter

    在从Eclipse转到Android Studio上开发后,如果还想继续使用在Eclipse上制定的自定义的Code Formatter的话,需要按如下步骤操作:1.进入Settings界面,如果能看 ...

  5. easyUI的formatter使用

    <table class="easyui-datagrid" style="width:400px;height:250px" data-options= ...

  6. ECharts图表中级入门之formatter:夜谈关于ECharts图表内的数据格式化方法

    来源于:http://www.ithao123.cn/content-3751220.html 格式化之所以存在,主要是因为我们想把一些不够人性化的内容通过某种处理让其变得人性化,便于用户更好地理解内 ...

  7. EasyUI-Datagrid 中formatter和group-formatter的使用

    1.在表格属性设置函数那块写以下内容: groupFormatter:function(value,rows){ //这里可以看到每一条导入表格中的数据,可以返回group的总结值 }, column ...

  8. jqGrid预定义的格式化类型formatter

    下表列出了jqGrid中的预定义格式化类型 所有预定义类型和编辑模式兼容,就是说数字,链接和email等需要转换,才能使他们被正确编辑 类型 选项(默认值参考语言选项) 描述 integer thou ...

  9. Java基础之写文件——使用Formatter对象加载缓冲区(UsingAFormatter)

    控制台程序,使用Formatter对象将写入文件的数据准备好. 使用Formatter对象的format()方法,将数据值格式化到视图缓冲区charBuf中. import static java.n ...

  10. 在easyui datagrid中formatter数据后使用linkbutton

    http://ntzrj513.blog.163.com/blog/static/2794561220139245411997/ formatter:function(value,rowData,ro ...

随机推荐

  1. Java代码复用的三种常用方式:继承、组合和代理

    复用代码是Java众多引人注目的功能之一.这句话很通顺,没什么问题,但问题在于很多人并不清楚“复用”是什么.就好像我说“沉默王二是一个不止会写代码的程序员”,唉,沉默王二是谁? 我们需要来给“复用”下 ...

  2. Java操作符真的简单到易如反掌?

    之前我写了一篇<吃人的那些Java名词:对象.引用.堆.栈和堆栈>,本以为凭借自己8年的Java编程经验足够把这些“吃人”的Java名词解释清楚了,但有网友不以为然,在文章底部评论说:“老 ...

  3. java设计模式(2)---六大原则

    设计模式之六大原则 这篇博客非常有意义,希望自己能够理解的基础上,在实际开发中融入这些思想,运用里面的精髓. 先列出六大原则:单一职责原则.里氏替换原则.接口隔离原则.依赖倒置原则.迪米特原则.开闭原 ...

  4. .NET Core中的性能测试工具BenchmarkDotnet

    背景介绍 之前一篇博客中,我们讲解.NET Core中的CSV解析库,在文章的最后,作者使用了性能基准测试工具BenchmarkDotNet测试了2个不同CSV解析库的性能,本篇我们来详细介绍一下Be ...

  5. IIS 部署.netcore 500.19错误

    错误原因,没有安装 DotNetCore.2.0.5-WindowsHosting.exe 即托管程序,具体可以先检查IIS模块中有没有AspNetCoreModule,有则说明已安装,反正则无

  6. Chorme浏览器渲染MathJax时出现竖线的解决方法

    Chorme浏览器渲染MathJax时出现竖线的原因分析与解决方法 查资料知,Chorme中显示MathJax时出现竖线的原因如下: 新版的Chorme浏览器在解析css时,会对其中的值进行向上取整( ...

  7. 初学Java Web(5)——cookie-session学习

    HTTP 协议 Web 浏览器与 Web 服务器之间的一问一答的交互过程必须遵守一定的规则,这样的规则就是 HTTP 协议. HTTP 是 hypertext transfer protocol(超文 ...

  8. 【Java基础】【15Colletion集合】

    15.01_集合框架(对象数组的概述和使用) A:案例演示 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. Student[] arr = new Stu ...

  9. 权限管理系统之LayUI实现页面增删改查和弹出层交互

    由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...

  10. java内置线程池ThreadPoolExecutor源码学习记录

    背景 公司业务性能优化,使用java自带的Executors.newFixedThreadPool()方法生成线程池.但是其内部定义的LinkedBlockingQueue容量是Integer.MAX ...