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. AutoFac - 将 autofac 应用于MVC多层项目

    一.前言 AutoFac是.NET平台下的一款著名的IoC Container,它可以让我们很轻松的解除项目中服务类的接口与客户类的接口实现类之间的依赖关系,从而降低系统各模块之间耦合程度以提高系统的 ...

  2. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  3. AspNetCore 使用NLog日志,NLog是基于.NET平台开的类库!(又一神器)

    NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码. NLog是一个简单灵活的.NET日志记录类库.通过使用NLog,我们可以在任何一种.NET语言中 ...

  4. 『玩具装箱TOY 斜率优化DP』

    玩具装箱TOY(HNOI2008) Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊 ...

  5. 那些令人惊艳的TensorFlow扩展包和社区贡献模型

    随着TensorFlow发布的,还有一个models库(仓库地址:https://github.com/tensorflow/models),里面包含官方及社群所发布的一些基于TensorFlow实现 ...

  6. Django中的templates(你的HTML页面放哪里)

    本文回答Django里面的HTML文件应该怎么放,以及Django是如何查找模板文件的. 到目前为止我们没有使用HTML页面,在之前的说明中所有内容都是写死在程序里的,如果你想改变内容就要修改代码.但 ...

  7. [开发技巧]·TensorFlow中numpy与tensor数据相互转化

    [开发技巧]·TensorFlow中numpy与tensor数据相互转化 个人主页–> https://xiaosongshine.github.io/ - 问题描述 在我们使用TensorFl ...

  8. 【Java基础】【03运算符&if语句】

    03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...

  9. leetcode — construct-binary-tree-from-preorder-and-inorder-traversal

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * * Source : https:/ ...

  10. PE知识复习之PE文件空白区添加代码

    PE知识复习之PE文件空白区添加代码 一丶简介 根据上面所讲PE知识.我们已经可以实现我们的一点手段了.比如PE的入口点位置.改为我们的入口位置.并且填写我们的代码.这个就是空白区添加代码. 我们也可 ...