应无所住,而生其心
排名
1
文章
861
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

layui表格的简单使用,layui table 数据展示,数据修改,数据更新。layui table的简单使用

4249人阅读 2018/12/16 15:20 总访问:5232633 评论:0 收藏:0 手机
分类: 前端

前端代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script src="~/lib/layui/layui.js"></script>
  9. <link href="~/lib/layui/css/layui.css" rel="stylesheet" />
  10. <script src="~/js/jquery-1.9.1.min.js"></script>
  11. </head>
  12. <body>
  13. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  14. <legend>土地数据管理(可以直接编辑修改数据)</legend>
  15. </fieldset>
  16. <table class="layui-hide" id="test" lay-filter="test"></table>
  17. </body>
  18. </html>
  19. <script>
  20. layui.use('table', function () {
  21. var table = layui.table;
  22. var util = layui.util;
  23. table.render({
  24. elem: '#test'
  25. , url: '/home/GetList'
  26. , cellMinWidth: 130 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
  27. , cols: [[
  28. { field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left' }
  29. , { field: 'landName', title: '宗地位置', edit: 'text', fixed: 'left' }
  30. , { field: 'areaposition', title: '地块位置', edit: 'text', fixed: 'left' }
  31. , { field: 'kgnumber', title: '控规编号', sort: true, edit: 'text' }
  32. , { field: 'provideType', title: '供应方式', edit: 'text' } //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
  33. , { field: 'landarea', title: '土地面积', sort: true, edit: 'text' }
  34. , { field: 'floorarearatio', title: '平均容积率', sort: true, edit: 'text' }
  35. , { field: 'gfa', title: '规划计容建筑面积', edit: 'text' }
  36. , { field: 'landareaunit', title: '土地面积单位', edit: 'text' }
  37. , { field: 'gfaunit', title: '规划计容建筑面积单位', edit: 'text' }
  38. , { field: 'type', title: '用地性质', edit: 'text' }
  39. , { field: 'ispublish', title: '是否发布', edit: 'bool' }
  40. , { field: 'planyear', title: '年份', edit: 'text' }
  41. , { field: 'panoramicurl', title: '720地址', width: 150, edit: 'text' }
  42. , { field: 'tweetsurl', title: '推文地址', width: 150, edit: 'text' }
  43. , { field: 'regu_imagurl', title: 'regu_imagurl', width: 130, edit: 'text' }
  44. , { field: 'regu_zooms_data', title: 'regu_zooms_data', width: 130, edit: 'text' }
  45. , { field: 'contactsurl', title: 'contactsurl', width: 130, edit: 'text' }
  46. , { field: 'regu_bounds', title: 'regu_bounds', width: 130, edit: 'text' }
  47. , { field: 'status', title: '状态', edit: 'text' }
  48. , { field: 'lnglat_data', title: '经纬度', edit: 'text' }
  49. ]]
  50. });
  51. //监听单元格编辑
  52. table.on('edit(test)', function (obj) {
  53. console.log(obj);
  54. var value = obj.value //得到修改后的值
  55. , data = obj.data //得到所在行所有键值
  56. , field = obj.field; //得到字段
  57. //layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
  58. //console.log(value);
  59. layer.confirm("数据已经发生改变是否确认修改?", {
  60. btn: ["确定", "取消"] //按钮
  61. }, function (index) {
  62. $.post('/home/update', obj.data, function (result) {
  63. if (result > 0) {
  64. layer.msg("修改成功!");
  65. //table.reload('test')
  66. }
  67. })
  68. layer.close(index);
  69. }, function () {
  70. table.reload('test')
  71. });
  72. });
  73. });
  74. </script>


注意定义列的时候逗号不要打多了,不要前面打了一次后面还打一次。不然会造成layui表头与内容对不齐,layui表头设置宽度无效等问题。

后台返回的数据格式

  1. {"code":0,"msg":"","count":1000,"data":[]}

要修改数据后端直接接收处理就行非常简单,简单处理一下demo:

  1. public JsonResult Update(LandInfoDto landInfoDto)
  2. {
  3. int result = _landInfoAppService.Update(landInfoDto);
  4. return Json(result);
  5. }

具体对数据库的更改也非常简单,直接使用ef的仓储更新即可,这里使用的abp的,非常简单,demo:

  1. public int Update(LandInfoDto landInfoDto)
  2. {
  3. LandInfo landInfo = ObjectMapper.Map<LandInfoDto, LandInfo>(landInfoDto);
  4. LandInfo result = _landInfoRepository.UpdateAsync(landInfo, true).Result;
  5. if (result != null)
  6. return 1;
  7. else
  8. return 0;
  9. }

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

layui水平二级菜单时长不显示的问题

调用一下初始化方法Init就可以解决了

layui 表单模块常见问题

layui 设置select宽度直接设置select外层的宽度就行,layui的select会自适应宽度layui 设置select会被百度编辑器挡住问题是...

layui Select添加选择事件layui 下拉列表

html&lt;selectname=&quot;label&quot;id=&quot;atype&quot;lay-filter=&quot;atype&quot;&gt; &lt;optionvalue=&quot;a&q...

layui布局

Layui 使用layui-container container来指明一个容器版本&lt;divclass=&quot;layui-containercontainer&quot;style=&quot;b...

layui 固定列覆盖滚动条导致表格错位

对于layui,大家都用过吧:轻量级框架,使用方便,快捷,入手难度小,但是这些优点就不代表你没有踩到它的坑。目前遇到一个...

layuia 图标

图标的官方地址:https://www.layui.com/doc/element/icon.html

layui水平布局

一个layui-input-inline即可 &lt;divclass=&quot;layui-input-inline&quot;&gt; &lt;/div&gt; &lt;divclass=&quot;layui...

layui插件上传图片具体步奏以及获取图片地址

注意事项: (1)在使用插件之前需要引入该插件文件包不可分开使用。 (2)在运行过程中会出现报一个错误(上传图片异常等等...

layui+过滤器 实现权限管理

想要做好一个权限管理并不简单,不管是数据库还是逻辑上都还是有一点复杂的 下面开始讲解我们的权限管理首先创建数据库《规...

layui 弹窗遮罩层把弹窗挡住问题

代码:layer.open({ type:1, area:[&quot;300px&quot;,&quot;300px&quot;], content:$(&quot;#addvieww&quot;) });分析...

layui 报错 l.push is not a function

解决方法:layui.use([&#39;jquery&#39;,&#39;layer&#39;,&#39;element&#39;],function(){ } 而不是 layui.use(&#39...

layer loading。layui 菊花

layer loading层很简单,起到一个遮罩提示加载的效果打开://loading层 varlayerIndex=layer.load(1,{ shade:[0.1,&#39;#...

layui Tab菜单添加点击事件

layui 实现Tab菜单很简单使用下面的代码即可&lt;divclass=&quot;layui-tab&quot;lay-filter=&quot;test1&quot;&gt; &lt;ul...

使用vue渲染layui的复选框时无法渲染

这是因为使用vue后数据是动态生成的,没有被layui渲染出来所以有问题,调用一下layui的渲染方法即可layui.use([&#39;form&#...

vue+layui默认选中第一个tab

可以利用v-for中的index,然后使用一个三目运算即可&lt;ulclass=&quot;layui-tab-title&quot;&gt; &lt;liv-for=&quot;(item...

layui tab切换更改同一个内容

layui tab切换时如何更改同一个内容呢,不用一个tab对应一个内容,就相当于改变同一个内容,其实很简单就是只留layui-tab-c...