第一节:EasyUI样式,行内编辑,基础知识
一丶常用属性

1 $('#j_dg_left').datagrid({ 2 url: '/Stu_Areas/Stu/GradeList', 3 fit: true, // 自动适应父容器大小 4 singleSelect: true, //设置是否只能单选 5 loadMsg: '请稍等,正在拼命加载...',//加载数据的时候显示提示消息 6 fitColumns: true, //自动收缩列的大小 7 rownumbers: true, //是否加行号 8 pagination: true, //是否显式分页 9 pageSize: 5, //页容量,必须和pageList对应起来,否则会报错 10 pageNumber: 1, //默认显示第几页 11 pageList: [5, 10, 15],//分页中下拉选项的数值 12 checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。 13 selectOnCheck: true,//单击复选框将永远选择行 14 //固定列 15 frozenColumns: [[ 16 { field: 'gName', title: '年级名称', width:150, align: 'center' }, 17 ]], 18 //非固定列 19 columns: [[ 20 { field: 'gExplain', title: '年级说明', width: 150, align: 'center' }, 21 ]], 22 //单击单元格 23 onClickRow: function (index, row) { 24 dg_right.datagrid('load', { 25 gId: row.gId, 26 }); 27 gId = row.gId; 28 }, 29 onLoadSuccess: function () { 30 //修改全选按钮 31 $(".datagrid-header-check").html("序号"); 32 $(".datagrid-header-check").parent().prev().html(""); 33 $(".datagrid-header-check").attr("style", "width:71px") 34 var rows = dg_left.datagrid('getRows'); 35 if (rows.length > 0) { 36 pageUtil.LoadGrid_Right(rows[0].gId); 37 } 38 }, 39 toolbar: [{ 40 text: '刷新', 41 iconCls: 'fa fa-refresh', 42 handler: function () { 43 pageUtil.Refresh(); 44 } 45 } 46 , 47 '-', { 48 text: '取消选中', 49 iconCls: 'fa fa-undo', 50 handler: function () { 51 pageUtil.CancelSelected(); 52 } 53 }, 54 '-', { 55 text: '添加', 56 iconCls: 'fa fa-plus', 57 handler: function () { 58 pageUtil.AddStudent(); 59 } 60 }, 61 '-', { 62 text: '编辑', 63 iconCls: 'fa fa-edit', 64 handler: function () { 65 pageUtil.EditStudent(); 66 } 67 }, 68 '-', { 69 text: '删除', 70 iconCls: 'fa fa-remove', 71 handler: function () { 72 pageUtil.DelStudent(); 73 } 74 }, 75 ], 76 })
内容:
{ title: '内容说明', field: 'ContentRemark', align: 'center', width: 350, sortable: true, formatter: function (value) { if (value) { value = value.replace(/<[^>]*>/ig, ""); value = value.replace(/&(nbsp|#160);/ig, ""); if (value.length > 25) { value = value.substring(0, 15) + "......"; } return value; } } },
修改复选框和序号样式:
onLoadSuccess: function () { //修改全选按钮 $(".datagrid-header-check").html("序号"); $(".datagrid-header-check").parent().prev().html(""); $(".datagrid-header-check").attr("style", "width:56px"); },
二丶行内编辑
var editIndex = undefined;定义全局变量
1.单元格触发事件
onClickCell: function (index, field, value) { if (editIndex == undefined) { if (field == "content") { // 判断是否是field为content列,如果不是固定某列的话,不需要判断 $(this).datagrid('beginEdit', index); var ed = $(this).datagrid('getEditor', { index: index, field: field }); $(ed.target).focus(); } editIndex = index; //alert("点击触发editIndex:" + editIndex); } else if (editIndex != undefined) {//如果不相等,说明已经打开编辑器了,需要关闭编辑器 $(this).datagrid('endEdit', editIndex); editIndex = undefined; //alert("关闭编辑器"); } //$("#dg").datagrid('onClickRow'); },
2.关闭编辑器后触发
onAfterEdit: function (index, row, changes) { // 关闭编辑器后触发 var updated = $(this).datagrid('getChanges', 'updated'); // updated 是一个getChanges的属性,可以查看api //alert("onAfterEdit。。" + updated.length); if (updated.length < 1) { // 如果编辑器中的数据已经修改,则length为1,否则为0,判断是否已经修改数据 editRow = undefined; $(this).datagrid('unselectAll'); return; } else { // 传值 //alert("提交数据"); submitForm(index, row, changes); //这里ajax提交数据的方法 } },
3.使用ajax提交数据
function submitForm(index, row, changes) { //alert(row.content + "--" + changes.content); //daliyResultRate var Econtent = row.content; // 当前行中修改的数据值 if (Econtent == "") { $.messager.alert('提醒', '没有录入数据!'); $("#dg").datagrid('reload'); return; } //var r = /^-?[1-9]/;//判断输入的是正整数 //if (!r.test(resultId)) { // $.messager.alert('提醒', '请输入正整数!'); // return; //} $.ajax({ type: "post", async: false, url: "/T1/Edit", data: { "Econtent": Econtent, //将数据ajax到后台 "id": row.id, }, success: function (data) { if (data == "true") { alert("保存成功"); $("#dg").datagrid('reload'); } } }) }
三丶默认选择

1 //选中事件 2 onSelect: function (index, row) { 3 dgStaff.datagrid('load', { 4 id: row.id, 5 }); 6 }, 7 8 onLoadSuccess: function (data) { 9 //修改全选按钮 10 $(".datagrid-header-check").html("序号"); 11 $(".datagrid-header-check").parent().prev().html(""); 12 $(".datagrid-header-check").attr("style", "width:79px !important;font-weight: 700;font-size: 14px;line-height:18px;"); 13 14 if (data != "" && data.total > 0) { 15 dgDepartment.datagrid("selectRow", 0); 16 } 17 18 }, 19 });
四丶初始化下拉框

1 var demoData = oc.BllSession.ISysDemoBLL.Entities.Select(a => new ComoboData 2 { 3 value = a.id, 4 text = a.departName, 5 }).ToList(); 6 7 demoData.Insert(0, new ComoboData 8 { 9 value = "", 10 text = "全部", 11 }); 12 return Json(demoData );
js

1 $('#j_departId').combobox({ 2 editable: false, 3 height: 30, 4 url: '远程路径/控制器相对路径', 5 panelHeight: 'auto', 6 panelMaxHeight: 220, 7 valueField: 'value', 8 textField: 'text', 9 onSelect: function (rec) { 10 if (rec.value == "") { 11 $('#departName').val(""); 12 } else { 13 $('#departName').val(rec.text); 14 } 15 } 16 });
作者:chenze 出处:https://www.cnblogs.com/chenze-Index/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具