3、easyUI-创建 CRUD可创建展开行明细编辑dataGrid(表格)
同样在上一节中讲到可以编辑的表格,现在讲一般用到的最后一个datagrid(表格)相关的展开明细可编辑的表格;
第三中表格主要应用场景在:列出表格信息,然后点击可以查看详细信息(此处是全部可以编辑,可以改写),举个例子,人员信息有很多字段,但是一般在列表信息只显示人员相关的主要字段,但是如果想看人员所有信息的话,就可通过这个方法来实现,声明一点,这里的是可以编辑的,你可以做成不可编辑;
再说两句,比如在第一节的时候,如果只提供一张表格表单,进行添加信息,然后在列表页中列出人员信息,列出的人员信息不允许编辑,只可以查看,就可以使用这节的表格;
开始任务:
首先在网上下载datagrid-detailview.js文件(稍后附出代码文件的js);
然后新建一个index.php,将js文件引入;
后台代码使用第二节的,无需更改,不做介绍;
第一步,先看效果图:
展开明细,可编辑(你可以改写成不可修改,只可以看)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVAAAAJtCAIAAABfX8ziAAAgAElEQVR4nOzde5gkZX0v8PYcNV5wvScnPk/O0Ty5n2eByMm426AhuKjxBgY1HtEsMy6N+sQkRtFwzCoKuBdcGSIgJtGAGEVZdn12YbhFjATEy6zLjrgGhhXDZRFY2NvArrssdf7oW1VXdU9Pz/R091ufz/N7emeqq6trZt/qt771VtUUIgAAACA4hV6vAAAAADD3BH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAAVQL/hdc+oJRSSimllFJKqYGr6QP/o1ORUkoppZRSSimlBqgEfqWUUkoppZRSKsBqK/A/MhUppZRSSimllFJqgKq9wL83UkoppZRSSiml1ABVW4F/x95IKaWUUkoppZRSA1RtBf6H90ZKKaWUUkoppZQaoGov8O+JlFJKKaWUUkopNUDVVuB/aE+klFJKKaWUUkqpAarOAv/2FW9dumBhs1q+4vaG+Te9Z+HSBW/d+IPkcn7w+eWNr/3IpthT6eVsX/HWjOUopZRSSimllFKqodoK/A/ujpK1fcVJSxectPH7u6MHd0eXf2TpgoUXX747enB39P2LKkE9Y/6M6dWnPrKp+u2m9yxcesxF2+vLufri5kcWli5YuPQ9V6eXqZRSSimllFJK5b3aCvy/2B0la/unT1q64KSN39sd/SIW+H+xO/reRcsXLFz+6dtrXzc9C6A8zy9u33jMwqXHXLS9uuRNIwuXHnPR9vhymr2vUkoppZRSSimlmtUsAv90Yb5JaG91UGDk6nTgb/lewr9SSimllFJKKZVVbQX+B3ZFydp+TnmkfVf0wK7oa6cvXbDw4q/tih7YVQnz5/y48et4xaZvGlm49OiLtj+wK3rg6osXLFx+zo8rU5q8NvG+SimllFJKKaWUaladBf7oa6fPQeD/3kXLay+sLqQx8H/t9FYX8C9YuHTB6Zt6/ktUSimllFJKKaX6rdoK/Nt3Rcnafk7LU/rP+XG0fVd0a8tr+MthfvjqeqQ/+qLt23dtGl649OiLtt9aDfy1N/3a6UsXLFw+fHrlGEF5+UdftD21bkoppZRSSimllGoz8O+MklU5tf7WndH2ndXB+Z3R9p3RrRcuX7Bw+TkTjdPjFZ9n+87tt07E59w0vHDp0RduT85TPShw+qbKW5++6dYLl1cOHEw0Ll8ppZRSSimllFJtBf77d0bJ2jS8cOmC0zeVv/3q6UsXLLz4qzuj+3dG371w+YKFy8+eiO7fuf3sk+rztKjvXrh8wcKlw1elJ5aXU36vjfWlTWw8unoy/7QLV0oppZRSSiml8lltBf77Ho0StfHiBQuXHn3h9vK3/3r60gULL/7X+tfLz95SmWd4Y9T42mTdcuHy+KKS0y/+10ejfz29vJBNw7ErAoY3lr+tvKlSSimllFJKKaUaqpPAf8uWTWeftPzsLZVvK4F/48W1u+jdV07sJ228pfXbZxwU2H527e4Ap2+KTa8E/sTM5XdMzKaUUkoppZRSSqnovjYD/72PRkoppZRSSimllBqgai/wPxIppZRSSimllFJqgKqtwH/PI5FSSimllFJKKaUGqAR+pZRSSimllFIqwGor8P/XjkgppZRSSimllFIDVG0F/p/viJRSSimllFJKKTVAJfArpZRSSimllFIBVluBXymllFJKKaWUUgNX0wf+KQAAAGCgCPwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABmpvA/083fPHwDx914qdPOuHst57wqbe+5VPvOOoDf/zJL6/au3fvPPwMAAAAQIM5CPx3b7/7iNP/cOv9d8RfvP3RB4t/+9qbt3x3fn4MAAAAIG4OAv+mOze9eeWJURR97Nv/77Vffc3rr/jT0vWlA9EvP/hPZ37thq/Pz48BAAAAxM0q8N95751jPxy7cOOFr/7k8QcOHXjVJa8qLC8Uzi785hd+c+cTj7z3cx9d/vnl13z3hi133N74yhvPWrLkrBurX6WUn5qamrrj0lNrX8/KjT++8fAzDl+0vFhcfszijx29+IxjFv/dMYs/8seLTz928Yf+ZPEHX734r48v/vVri3/5mt965x999fp1yVffcemp1RWrfnnqpXfUfpSzboz/HPGVXzI3aw8AAAAz1Hng/9K/f2nhxw5/+wXvOOkzb12xdlUUPfn6r77+v5/z35957jOPuOSInQcfveS6r//Z37/zHWe/96jTXvOpS85rfH1DHK7k5vRMcxOZjznrmC/e9KX9B3554OAT+395YN/+A/v2H9i37+C+fQf27Tuw7/ED+x4/uP/xJ365/9A1P/j2kSOvzlqNG88qB/6zbpy68axTL73jjktPPfXSO+qBv/xP9UjAHZeeeuql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4zw/9nwFPHrsYePv+Tp49NiTlh91pN3ADwAAAAwQgR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8Z/v20gAADltJREFUAAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPADAABAgAR+AAAACJDADwAAAAES+AEAACBAAj8AAAAESOAHAACAAAn8AAAAECCBHwAAAAIk8AMAAECABH4AAAAIkMAPAAAAARL4AQAAIEACPwAAAARI4AcAAIAACfwAAAAQIIEfAAAAAiTwAwAAQIAEfgAAAAiQwA8AAAABEvgBAAAgQAI/AAAABEjgBwAAgAAJ/AAAABAggR8AAAACJPAD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" alt="" />
添加明细视图:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVIAAAJeCAIAAADZRGncAAAgAElEQVR4nOzde5hcdWE38PF91XrBeG/f+jx939c+vb9PApW3azIgpQjelQpqrZfCrmFQn9rWIlpfG60CkgQjSxXEO1hUlJjYRJZbxaJcvGyIWTAKS4zlEuS6SXYhIRfO+8fczpk5Mzuzu7Oz53c+n+f7DLuzZ2ZPdn9nz/me35mhEAEAAACBKvR7BQAAAIBeaaz95195r4iIiIiIiIhkLp3W/oenIhERERERERHJUNR+ERERERERkWDTRe1/aCoSERERERERkQylm9o/GYmIiIiIiIhIhtJF7X9wMhIRERERERGRDKWL2v/AZCQiIiIiIiIiGUo3tX93JCIiIiIiIiIZShe1//7dkYiIiIiIiIhkKLOp/TvOfsNJixa3yoqzb21YftM7Fp+06A0bf5x8nh9/ZkXjY9+/Kfal5ufZcfYbUp5HRERERERERBrSRe2/b1eUzI6zTzxp0Ykbf7Qrum9XdOn7T1q0+MJLd0X37Yp+dEGlrqcsn3J/9Uvv31T9dNM7Fp905AU76s9z+YWtzy+ctGjxSe+4vPk5RURERERERPKeLmr/r3dFyez4+IknLTpx4w93Rb+O1f5f74p+eMGKRYtXfPzW2sctrwgoL/PrWzceufikIy/YUX3mTUOLTzrygh3x52n1fUVERERERESkVWZd+6er9C2qe7tTA0OXN9f+tt/LKQARERERERGRtHRR++/dGSWz46zyrPvO6N6d0ddPP2nR4gu/vjO6d2el0p91S+PH8cTu3zS0+KQjLthx787o3ssvXLR4xVm3VO5p8djE9xURERERERGRVplN7Y++fvoc1P4fXrCi9sDqkzTW/q+f3u6F/YsWn7To9E19/1GKiIiIiIiILLR0Uft37IyS2XFW24v8z7ol2rEzuqnta/vLlX7w8nqxP+KCHTt2bhpcfNIRF+y4qVr7a9/066eftGjxisHTK2cKys9/xAU7mtZNRERERERERLqq/RNRMpWL7W+aiHZMVCfqJ6IdE9FN569YtHjFWWON98cTX2bHxI6bxuJLbhpcfNIR5+9ILlM9NXD6psq3Pn3TTeevqJw+GGt8fhERERERERHpovbfMxEls2lw8UmLTt9U/vRrp5+0aPGFX5uI7pmIbjx/xaLFK84ci+6Z2HHmifVl2uTG81csWnzS4Hea7yw/T/l7baw/29jGI6qX90/75CIiIiIiIiL5TBe1/+6Ho0Q2Xrho8UlHnL+j/OlXTz9p0eILv1r/eMWZWyrLDG6MGh+bzA3nr4g/VfL+C7/6cPTV08tPsmkw9hqBwY3lTyvfVEREREREREQaMvPaf8OWTWeeuOLMLZVPK7V/44W199i7u9zbT9x4Q/uVSDk1sOPM2rsGnL4pdn+l9icWLn/HxGIiIiIiIiIiEt3dVe2/6+FIRERERERERDKUbmr/Q5GIiIiIiIiIZChd1P47H4pEREREREREJENR+0VERERERESCTRe1/78ejEREREREREQkQ+mi9v/qwUhEREREREREMhS1X0RERERERCTYdFH7RURERERERCRz6bT2TwEAAACZovYDAABAsNR+AAAACJbaDwAAAMFS+wEAACBYaj8AAAAEay5r/+ev+eKS9x3+lx8/8fgz33D8x97w+o+9+fD3/PlHv7JqcnJyHv4lAAAAQIM5q/3bd2w/9PQ/3XrPbfFH7Xj4vuI/vvz6LTfOzz8GAAAAiJuz2r/p9k2vW/mXURR96Hv/7+Vfe9mrLntl6erSvuix937+X75+zTfm5x8DAAAAxM1B7b/9rttHfjJy/sbzX/rR4/Yd3HfURUcVVhQKZxZ+97O/O3HgoXd+6gMrPrPiihuv2XLbrY2PvPaMY48949rqR03KX5qamrrt4lNqH8/Ktbdcu+SDS5auKBZXHLnsQ0cs++CRy/7pyGXv//Nlpx+97LS/WPbely77++OKf//y4t++7Pfe8mdfu3pd8tG3XXxKdcWqH55y8W21f8oZ18b/HfGVP3Zu1h4AAAC6NNva/6X//NLiDy1506fffOIn3nD22lVR9Pirvvaq/37Wf3/qOU899KJDJ/Y/fNFV3zjhn9/y5jPfefipL/vYRec2Pr6hFFfac/NCc1OcjzzjyC9+/0t79z22b/+BvY/t27N33569+/bs2b9nz749e/bteXTfnkf37330wGN7D17x4+8dNvTStNW49oxy7T/j2qlrzzjl4ttuu/iUUy6+rV77y/+png+47eJTTrn44tR/FQAAAPTabGv/n6740633bI2iaF+0P4qih/c8fNxXjnviWU986jlPPfTLh97+8O1R9PjB6PEoiu558L4Xv/OV7dcmvfU31v7EpQFd9emjzjr64MGDm3ds/vbPvn3FbSNXjF9xxR1XXPnLK67cfuVVv7rq6l9dffWdV19x5xU/fuBHURS9fsUpaavRQe2vtv7bLj6lcj1Ai38YAAAA9NRsa//LVr88iqKPXP2RI//1yKM/f/RLvviSF3zyBc8855nPPvfZLzj/Bcd845hXf/vVf/Htv3jvTf8QRdHbz3xv/LHXnlEvxWlOufi2+oX1sZafmEvvqk2/YvUroyh6yyVvecppTznkw4cccuYhh5x9yDPOecazPvms55z3nOed/7zf/OxvHnLhIa/4zssPRgffdubfJx/dYe2/+OJTamteX7v6KQAAAACYL7Ot/a9Y/Yooio6/6PjCewqFfyo84cNPOGTlIc9d89znn/v85/3r8w4575BDzj/kv336vx294c8PRgff+rH3NDy81vzrH6dMjFfvqrT8mdf+l69+eRRFb/y3Nxb+sfDkFU9+ykef8rSPP+2Q1YcsWrPoWec96znnP+d5n33e0z7ztOO+c+zB6MBbPva3sYc2nn+on5w4paH2n3HGsWdce+0Zxx57yikNpyzOOEPzBwAAYD7Ntva/fPUroij6y4v/svD3hSf8vyc88SNPfMbKZzx3zXOfd+7znv+vz1/0qUWLLlj0xE8/8S82HH0wOvCWptpfde0ZsbfHa5oYn+vaf8kbC6cVfuPDv/HUjz316Wc//RnnPOOZa5757OFnP/f85z7/s89/+mee/rLvHNdU+6dmcJF//GEAAAAw/+am9p++8fRDVy550adedNgFh/3WJ37rWec86znnPucFn37Bn13yZ8VvFg+79LDl170jiqK3n/XehodXLoqvtvx6Q05cIh97rfxsL/J/RRRFb/rKm57wD0948oee/OR/efKTz3ryU1c99ennPP0Z5z7jmZ965rMvfPZvnP8bL/3OSw9Gj799hhf5l9fwjDPSrg7Q/wEAAJhPs35Lv38+bPuDv3o8enxy/+7Jfbvv2nXXMV855klnPelp5zxtyZeXjD0wNnlg9yPR1IFo386p3Ue8+7XJR5crc/2j2y4+pfzS+MR739fK/axr/9EfP+bxKLrpv278t83/dtmt37zsZ5dd9vNvfuu2tetu/9b68XXr71j37V+uX7vtsut2XBdF0Rs/Uko+ujqV3807+c9gJQEAAGCuzLb2n3fleS/68P9d/qV3nXzhKf96+aejKIr/D/x27p/4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" alt="" />
第二步:编写index.php页面代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>创建展开行明细编辑表单</title>
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/icon.css">
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/color.css">
<script src="../ui/jquery-easyui-1.4.5/jquery.min.js"></script>
<script src="../ui/jquery-easyui-1.4.5/jquery.easyui.min.js"></script>
<script src="../js/crud/datagrid-detailview.js"></script>
<script src="../ui/jquery-easyui-1.4.5/locale/easyui-lang-zh_CN.js"></script>
<script src="../js/crud/bus_pubuser.js"></script>
<script>
$(function(){
$('#dg').datagrid({
view: detailview,
detailFormatter:function(index,row){
return '<div class="ddv"></div>';
},
onExpandRow: function(index,row){
var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
ddv.panel({
border:false,
cache:true,
href:'./page/show_form.php?index='+index,
onLoad:function(){
$('#dg').datagrid('fixDetailRowHeight',index);
$('#dg').datagrid('selectRow',index);
$('#dg').datagrid('getRowDetail',index).find('form').form('load',row);
}
});
$('#dg').datagrid('fixDetailRowHeight',index);
}
}); });
</script>
</head>
<body>
<!--
作者:ethancoco
时间:2016-07-10
描述:list
-->
<table id="dg" title="用户列表" class="easyui-datagrid" url="./data/crud/userAction.php?flag=list" style="width:100%;height: 600px;" toolbar="#toolbar" rownumbers="true" pagination="true" fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="fname" width="50" >名</th>
<th field="lname" width="50" >姓</th>
<th field="sex" width="50" >性别</th>
<th field="phone" width="50" >联系电话</th>
<th field="email" width="50" >邮件</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">添加</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">删除</a>
</div>
</body>
<html>
首先看table部分,url自动请求地址获取用户信息列表数据展示,pagination="true"表示带分页,然后就是toolbar下的两个方法newItem()和destroyItem(),其中destroyItem()方法和之前第一节的一样;
然后我们看javascript部分的一段代码:这种格式记住,理解,直接拿来用就可以,使用 'detailFormatter' 函数来生成行明细内容,当用户点击行展开按钮('+')时,'onExpandRow' 事件将被触发,我们将通过 ajax 加载编辑表单(form)。 调用 'getRowDetail' 方法来得到行明细容器,在行明细中创建面板(panel),加载从 'show_form.php' 返回的编辑表单;
第三步:编写show_form.php即明细行表单
<form method="post">
<table class="dv-table" style="width:100%;background:#fafafa;padding:5px;margin-top:5px;">
<tr>
<td>名</td>
<td><input name="fname" class="easyui-validatebox" required="true"></input></td>
<td>姓</td>
<td><input name="lname" class="easyui-validatebox" required="true"></input></td>
</tr>
<tr>
<td>性别</td>
<td colspan="3"><input name="sex" class="easyui-validatebox" required="true"></input></td>
</tr>
<tr>
<td>电话</td>
<td><input name="phone"></input></td>
<td>邮件</td>
<td><input name="email" class="easyui-validatebox" validType="email"></input></td>
</tr>
</table>
<div style="padding:5px 0;text-align:right;padding-right:30px">
<a href="#" class="easyui-linkbutton" iconCls="icon-save" plain="true" onclick="saveItem(<?php echo $_REQUEST['index'];?>)">Save</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" plain="true" onclick="cancelItem(<?php echo $_REQUEST['index'];?>)">Cancel</a>
</div>
</form>
第四步:实现saveItem(),cancelItem(),newItem(),destroyItem()四个方法
实现newItem()方法:
function newItem(){
$('#dg').datagrid('appendRow',{isNewRecord:true});
var index = $('#dg').datagrid('getRows').length - 1;
$('#dg').datagrid('expandRow', index);
$('#dg').datagrid('selectRow', index);
}
appendRow追加一个新行。新行将被添加到最后的位置,给他一个{isNewRecord:true}属性,可以在saveItem方法中判断,
getRows返回当前所有行;
实现saveItem()方法:
function saveItem(index){
var row = $('#dg').datagrid('getRows')[index];
var urladd = './data/crud/userAction.php?flag=add';
var urlmodify = './data/crud/userAction.php?flag=modify&id='+row.id;
var url = row.isNewRecord ? urladd : urlmodify;
$('#dg').datagrid('getRowDetail',index).find('form').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(data){
data = eval('('+data+')');
data.isNewRecord = false;
$('#dg').datagrid('collapseRow',index);
$('#dg').datagrid('updateRow',{
index: index,
row: data
});
$('#dg').datagrid('reload');
}
});
}
实现cancelItem()方法:
function cancelItem(index){
var row = $('#dg').datagrid('getRows')[index];
if (row.isNewRecord){
$('#dg').datagrid('deleteRow',index);
} else {
$('#dg').datagrid('collapseRow',index);
}
}
实现destroyItem()方法:
function destroyItem(){
var row = $('#dg').datagrid('getSelected');
var url = './data/crud/userAction.php?flag=delete';
if (row){
$.messager.confirm('Confirm','你确定要删除【'+row.lname+row.fname+'】么?',function(r){
if (r){
var index = $('#dg').datagrid('getRowIndex',row);
$.post(url,{id:row.id},function(){
$('#dg').datagrid('deleteRow',index);
});
}
});
}
}
最后附上源码:
datagrid-detailview.js
$.extend($.fn.datagrid.defaults, {
autoUpdateDetail: true // Define if update the row detail content when update a row
}); var detailview = $.extend({}, $.fn.datagrid.defaults.view, {
render: function(target, container, frozen){
var state = $.data(target, 'datagrid');
var opts = state.options;
if (frozen){
if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))){
return;
}
} var rows = state.data.rows;
var fields = $(target).datagrid('getColumnFields', frozen);
var table = [];
table.push('<table class="datagrid-btable" cellspacing="0" cellpadding="0" border="0"><tbody>');
for(var i=0; i<rows.length; i++) {
// get the class and style attributes for this row
var css = opts.rowStyler ? opts.rowStyler.call(target, i, rows[i]) : '';
var classValue = '';
var styleValue = '';
if (typeof css == 'string'){
styleValue = css;
} else if (css){
classValue = css['class'] || '';
styleValue = css['style'] || '';
} var cls = 'class="datagrid-row ' + (i % 2 && opts.striped ? 'datagrid-row-alt ' : ' ') + classValue + '"';
var style = styleValue ? 'style="' + styleValue + '"' : '';
var rowId = state.rowIdPrefix + '-' + (frozen?1:2) + '-' + i;
table.push('<tr id="' + rowId + '" datagrid-row-index="' + i + '" ' + cls + ' ' + style + '>');
table.push(this.renderRow.call(this, target, fields, frozen, i, rows[i]));
table.push('</tr>'); table.push('<tr style="display:none;">');
if (frozen){
table.push('<td colspan=' + (fields.length+(opts.rownumbers?1:0)) + ' style="border-right:0">');
} else {
table.push('<td colspan=' + (fields.length) + '>');
} table.push('<div class="datagrid-row-detail">');
if (frozen){
table.push(' ');
} else {
table.push(opts.detailFormatter.call(target, i, rows[i]));
}
table.push('</div>'); table.push('</td>');
table.push('</tr>'); }
table.push('</tbody></table>'); $(container).html(table.join(''));
}, renderRow: function(target, fields, frozen, rowIndex, rowData){
var opts = $.data(target, 'datagrid').options; var cc = [];
if (frozen && opts.rownumbers){
var rownumber = rowIndex + 1;
if (opts.pagination){
rownumber += (opts.pageNumber-1)*opts.pageSize;
}
cc.push('<td class="datagrid-td-rownumber"><div class="datagrid-cell-rownumber">'+rownumber+'</div></td>');
}
for(var i=0; i<fields.length; i++){
var field = fields[i];
var col = $(target).datagrid('getColumnOption', field);
if (col){
var value = rowData[field]; // the field value
var css = col.styler ? (col.styler(value, rowData, rowIndex)||'') : '';
var classValue = '';
var styleValue = '';
if (typeof css == 'string'){
styleValue = css;
} else if (cc){
classValue = css['class'] || '';
styleValue = css['style'] || '';
}
var cls = classValue ? 'class="' + classValue + '"' : '';
var style = col.hidden ? 'style="display:none;' + styleValue + '"' : (styleValue ? 'style="' + styleValue + '"' : ''); cc.push('<td field="' + field + '" ' + cls + ' ' + style + '>'); if (col.checkbox){
style = '';
} else if (col.expander){
style = "text-align:center;height:16px;";
} else {
style = styleValue;
if (col.align){style += ';text-align:' + col.align + ';'}
if (!opts.nowrap){
style += ';white-space:normal;height:auto;';
} else if (opts.autoRowHeight){
style += ';height:auto;';
}
} cc.push('<div style="' + style + '" ');
if (col.checkbox){
cc.push('class="datagrid-cell-check ');
} else {
cc.push('class="datagrid-cell ' + col.cellClass);
}
cc.push('">'); if (col.checkbox){
cc.push('<input type="checkbox" name="' + field + '" value="' + (value!=undefined ? value : '') + '">');
} else if (col.expander) {
//cc.push('<div style="text-align:center;width:16px;height:16px;">');
cc.push('<span class="datagrid-row-expander datagrid-row-expand" style="display:inline-block;width:16px;height:16px;cursor:pointer;" />');
//cc.push('</div>');
} else if (col.formatter){
cc.push(col.formatter(value, rowData, rowIndex));
} else {
cc.push(value);
} cc.push('</div>');
cc.push('</td>');
}
}
return cc.join('');
}, insertRow: function(target, index, row){
var opts = $.data(target, 'datagrid').options;
var dc = $.data(target, 'datagrid').dc;
var panel = $(target).datagrid('getPanel');
var view1 = dc.view1;
var view2 = dc.view2; var isAppend = false;
var rowLength = $(target).datagrid('getRows').length;
if (rowLength == 0){
$(target).datagrid('loadData',{total:1,rows:[row]});
return;
} if (index == undefined || index == null || index >= rowLength) {
index = rowLength;
isAppend = true;
this.canUpdateDetail = false;
} $.fn.datagrid.defaults.view.insertRow.call(this, target, index, row); _insert(true);
_insert(false); this.canUpdateDetail = true; function _insert(frozen){
var tr = opts.finder.getTr(target, index, 'body', frozen?1:2);
if (isAppend){
var detail = tr.next();
var newDetail = tr.next().clone();
tr.insertAfter(detail);
} else {
var newDetail = tr.next().next().clone();
}
newDetail.insertAfter(tr);
newDetail.hide();
if (!frozen){
newDetail.find('div.datagrid-row-detail').html(opts.detailFormatter.call(target, index, row));
}
}
}, deleteRow: function(target, index){
var opts = $.data(target, 'datagrid').options;
var dc = $.data(target, 'datagrid').dc;
var tr = opts.finder.getTr(target, index);
tr.next().remove();
$.fn.datagrid.defaults.view.deleteRow.call(this, target, index);
dc.body2.triggerHandler('scroll');
}, updateRow: function(target, rowIndex, row){
var dc = $.data(target, 'datagrid').dc;
var opts = $.data(target, 'datagrid').options;
var cls = $(target).datagrid('getExpander', rowIndex).attr('class');
$.fn.datagrid.defaults.view.updateRow.call(this, target, rowIndex, row);
$(target).datagrid('getExpander', rowIndex).attr('class',cls); // update the detail content
if (opts.autoUpdateDetail && this.canUpdateDetail){
var row = $(target).datagrid('getRows')[rowIndex];
var detail = $(target).datagrid('getRowDetail', rowIndex);
detail.html(opts.detailFormatter.call(target, rowIndex, row));
}
}, bindEvents: function(target){
var state = $.data(target, 'datagrid'); if (state.ss.bindDetailEvents){return;}
state.ss.bindDetailEvents = true; var dc = state.dc;
var opts = state.options;
var body = dc.body1.add(dc.body2);
var clickHandler = ($.data(body[0],'events')||$._data(body[0],'events')).click[0].handler;
body.unbind('click').bind('click', function(e){
var tt = $(e.target);
var tr = tt.closest('tr.datagrid-row');
if (!tr.length){return}
if (tt.hasClass('datagrid-row-expander')){
var rowIndex = parseInt(tr.attr('datagrid-row-index'));
if (tt.hasClass('datagrid-row-expand')){
$(target).datagrid('expandRow', rowIndex);
} else {
$(target).datagrid('collapseRow', rowIndex);
}
$(target).datagrid('fixRowHeight'); } else {
clickHandler(e);
}
e.stopPropagation();
});
}, onBeforeRender: function(target){
var state = $.data(target, 'datagrid');
var opts = state.options;
var dc = state.dc;
var t = $(target);
var hasExpander = false;
var fields = t.datagrid('getColumnFields',true).concat(t.datagrid('getColumnFields'));
for(var i=0; i<fields.length; i++){
var col = t.datagrid('getColumnOption', fields[i]);
if (col.expander){
hasExpander = true;
break;
}
}
if (!hasExpander){
if (opts.frozenColumns && opts.frozenColumns.length){
opts.frozenColumns[0].splice(0,0,{field:'_expander',expander:true,width:24,resizable:false,fixed:true});
} else {
opts.frozenColumns = [[{field:'_expander',expander:true,width:24,resizable:false,fixed:true}]];
} var t = dc.view1.children('div.datagrid-header').find('table');
var td = $('<td rowspan="'+opts.frozenColumns.length+'"><div class="datagrid-header-expander" style="width:24px;"></div></td>');
if ($('tr',t).length == 0){
td.wrap('<tr></tr>').parent().appendTo($('tbody',t));
} else if (opts.rownumbers){
td.insertAfter(t.find('td:has(div.datagrid-header-rownumber)'));
} else {
td.prependTo(t.find('tr:first'));
}
} // if (!state.bindDetailEvents){
// state.bindDetailEvents = true;
// var that = this;
// setTimeout(function(){
// that.bindEvents(target);
// },0);
// }
}, onAfterRender: function(target){
var that = this;
var state = $.data(target, 'datagrid');
var dc = state.dc;
var opts = state.options;
var panel = $(target).datagrid('getPanel'); $.fn.datagrid.defaults.view.onAfterRender.call(this, target); if (!state.onResizeColumn){
state.onResizeColumn = opts.onResizeColumn;
}
if (!state.onResize){
state.onResize = opts.onResize;
}
function resizeDetails(){
var ht = dc.header2.find('table');
var fr = ht.find('tr.datagrid-filter-row').hide();
var ww = ht.width()-1;
var details = dc.body2.find('>table.datagrid-btable>tbody>tr>td>div.datagrid-row-detail:visible')._outerWidth(ww);
// var details = dc.body2.find('div.datagrid-row-detail:visible')._outerWidth(ww);
details.find('.easyui-fluid').trigger('_resize');
fr.show();
} opts.onResizeColumn = function(field, width){
if (!opts.fitColumns){
resizeDetails();
}
var rowCount = $(target).datagrid('getRows').length;
for(var i=0; i<rowCount; i++){
$(target).datagrid('fixDetailRowHeight', i);
} // call the old event code
state.onResizeColumn.call(target, field, width);
};
opts.onResize = function(width, height){
if (opts.fitColumns){
resizeDetails();
}
state.onResize.call(panel, width, height);
}; this.canUpdateDetail = true; // define if to update the detail content when 'updateRow' method is called; var footer = dc.footer1.add(dc.footer2);
footer.find('span.datagrid-row-expander').css('visibility', 'hidden');
$(target).datagrid('resize'); this.bindEvents(target);
var detail = dc.body1.add(dc.body2).find('div.datagrid-row-detail');
detail.unbind().bind('mouseover mouseout click dblclick contextmenu scroll', function(e){
e.stopPropagation();
});
}
}); $.extend($.fn.datagrid.methods, {
fixDetailRowHeight: function(jq, index){
return jq.each(function(){
var opts = $.data(this, 'datagrid').options;
if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))){
return;
}
var dc = $.data(this, 'datagrid').dc;
var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
// fix the detail row height
if (tr2.is(':visible')){
tr1.css('height', '');
tr2.css('height', '');
var height = Math.max(tr1.height(), tr2.height());
tr1.css('height', height);
tr2.css('height', height);
}
dc.body2.triggerHandler('scroll');
});
},
getExpander: function(jq, index){ // get row expander object
var opts = $.data(jq[0], 'datagrid').options;
return opts.finder.getTr(jq[0], index).find('span.datagrid-row-expander');
},
// get row detail container
getRowDetail: function(jq, index){
var opts = $.data(jq[0], 'datagrid').options;
var tr = opts.finder.getTr(jq[0], index, 'body', 2);
// return tr.next().find('div.datagrid-row-detail');
return tr.next().find('>td>div.datagrid-row-detail');
},
expandRow: function(jq, index){
return jq.each(function(){
var opts = $(this).datagrid('options');
var dc = $.data(this, 'datagrid').dc;
var expander = $(this).datagrid('getExpander', index);
if (expander.hasClass('datagrid-row-expand')){
expander.removeClass('datagrid-row-expand').addClass('datagrid-row-collapse');
var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
tr1.show();
tr2.show();
$(this).datagrid('fixDetailRowHeight', index);
if (opts.onExpandRow){
var row = $(this).datagrid('getRows')[index];
opts.onExpandRow.call(this, index, row);
}
}
});
},
collapseRow: function(jq, index){
return jq.each(function(){
var opts = $(this).datagrid('options');
var dc = $.data(this, 'datagrid').dc;
var expander = $(this).datagrid('getExpander', index);
if (expander.hasClass('datagrid-row-collapse')){
expander.removeClass('datagrid-row-collapse').addClass('datagrid-row-expand');
var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
tr1.hide();
tr2.hide();
dc.body2.triggerHandler('scroll');
if (opts.onCollapseRow){
var row = $(this).datagrid('getRows')[index];
opts.onCollapseRow.call(this, index, row);
}
}
});
}
}); $.extend($.fn.datagrid.methods, {
subgrid: function(jq, conf){
return jq.each(function(){
createGrid(this, conf); function createGrid(target, conf, prow){
var queryParams = $.extend({}, conf.options.queryParams||{});
// queryParams[conf.options.foreignField] = prow ? prow[conf.options.foreignField] : undefined;
if (prow){
var fk = conf.options.foreignField;
if ($.isFunction(fk)){
$.extend(queryParams, fk.call(conf, prow));
} else {
queryParams[fk] = prow[fk];
}
} var plugin = conf.options.edatagrid ? 'edatagrid' : 'datagrid'; $(target)[plugin]($.extend({}, conf.options, {
subgrid: conf.subgrid,
view: (conf.subgrid ? detailview : undefined),
queryParams: queryParams,
detailFormatter: function(index, row){
return '<div><table class="datagrid-subgrid"></table></div>';
},
onExpandRow: function(index, row){
var opts = $(this).datagrid('options');
var rd = $(this).datagrid('getRowDetail', index);
var dg = getSubGrid(rd);
if (!dg.data('datagrid')){
createGrid(dg[0], opts.subgrid, row);
}
rd.find('.easyui-fluid').trigger('_resize');
setHeight(this, index);
if (conf.options.onExpandRow){
conf.options.onExpandRow.call(this, index, row);
}
},
onCollapseRow: function(index, row){
setHeight(this, index);
if (conf.options.onCollapseRow){
conf.options.onCollapseRow.call(this, index, row);
}
},
onResize: function(){
var dg = $(this).children('div.datagrid-view').children('table')
setParentHeight(this);
},
onResizeColumn: function(field, width){
setParentHeight(this);
if (conf.options.onResizeColumn){
conf.options.onResizeColumn.call(this, field, width);
}
},
onLoadSuccess: function(data){
setParentHeight(this);
if (conf.options.onLoadSuccess){
conf.options.onLoadSuccess.call(this, data);
}
}
}));
}
function getSubGrid(rowDetail){
var div = $(rowDetail).children('div');
if (div.children('div.datagrid').length){
return div.find('>div.datagrid>div.panel-body>div.datagrid-view>table.datagrid-subgrid');
} else {
return div.find('>table.datagrid-subgrid');
}
}
function setParentHeight(target){
var tr = $(target).closest('div.datagrid-row-detail').closest('tr').prev();
if (tr.length){
var index = parseInt(tr.attr('datagrid-row-index'));
var dg = tr.closest('div.datagrid-view').children('table');
setHeight(dg[0], index);
}
}
function setHeight(target, index){
$(target).datagrid('fixDetailRowHeight', index);
$(target).datagrid('fixRowHeight', index);
var tr = $(target).closest('div.datagrid-row-detail').closest('tr').prev();
if (tr.length){
var index = parseInt(tr.attr('datagrid-row-index'));
var dg = tr.closest('div.datagrid-view').children('table');
setHeight(dg[0], index);
}
}
});
},
getSelfGrid: function(jq){
var grid = jq.closest('.datagrid');
if (grid.length){
return grid.find('>.datagrid-wrap>.datagrid-view>.datagrid-f');
} else {
return null;
}
},
getParentGrid: function(jq){
var detail = jq.closest('div.datagrid-row-detail');
if (detail.length){
return detail.closest('.datagrid-view').children('.datagrid-f');
} else {
return null;
}
},
getParentRowIndex: function(jq){
var detail = jq.closest('div.datagrid-row-detail');
if (detail.length){
var tr = detail.closest('tr').prev();
return parseInt(tr.attr('datagrid-row-index'));
} else {
return -1;
}
}
});
show_form.php
<form method="post">
<table class="dv-table" style="width:100%;background:#fafafa;padding:5px;margin-top:5px;">
<tr>
<td>名</td>
<td><input name="fname" class="easyui-validatebox" required="true"></input></td>
<td>姓</td>
<td><input name="lname" class="easyui-validatebox" required="true"></input></td>
</tr>
<tr>
<td>性别</td>
<td colspan="3"><input name="sex" class="easyui-validatebox" required="true"></input></td>
</tr>
<tr>
<td>电话</td>
<td><input name="phone"></input></td>
<td>邮件</td>
<td><input name="email" class="easyui-validatebox" validType="email"></input></td>
</tr>
</table>
<div style="padding:5px 0;text-align:right;padding-right:30px">
<a href="#" class="easyui-linkbutton" iconCls="icon-save" plain="true" onclick="saveItem(<?php echo $_REQUEST['index'];?>)">Save</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" plain="true" onclick="cancelItem(<?php echo $_REQUEST['index'];?>)">Cancel</a>
</div>
</form>
bus_pubuser.js
/*****************开始 表格显示明细编辑*******************/
function saveItem(index){
var row = $('#dg').datagrid('getRows')[index];
var urladd = './data/crud/userAction.php?flag=add';
var urlmodify = './data/crud/userAction.php?flag=modify&id='+row.id;
var url = row.isNewRecord ? urladd : urlmodify;
$('#dg').datagrid('getRowDetail',index).find('form').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(data){
data = eval('('+data+')');
data.isNewRecord = false;
$('#dg').datagrid('collapseRow',index);
$('#dg').datagrid('updateRow',{
index: index,
row: data
});
$('#dg').datagrid('reload');
}
});
} function cancelItem(index){
var row = $('#dg').datagrid('getRows')[index];
if (row.isNewRecord){
$('#dg').datagrid('deleteRow',index);
} else {
$('#dg').datagrid('collapseRow',index);
}
} function destroyItem(){
var row = $('#dg').datagrid('getSelected');
var url = './data/crud/userAction.php?flag=delete';
if (row){
$.messager.confirm('Confirm','你确定要删除【'+row.lname+row.fname+'】么?',function(r){
if (r){
var index = $('#dg').datagrid('getRowIndex',row);
$.post(url,{id:row.id},function(){
$('#dg').datagrid('deleteRow',index);
});
}
});
}
} function newItem(){
$('#dg').datagrid('appendRow',{isNewRecord:true});
var index = $('#dg').datagrid('getRows').length - 1;
$('#dg').datagrid('expandRow', index);
$('#dg').datagrid('selectRow', index);
}
index.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>创建展开行明细编辑表单</title>
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/icon.css">
<link rel="stylesheet" type="text/css" href="../ui/jquery-easyui-1.4.5/themes/color.css">
<script src="../ui/jquery-easyui-1.4.5/jquery.min.js"></script>
<script src="../ui/jquery-easyui-1.4.5/jquery.easyui.min.js"></script>
<script src="../js/crud/datagrid-detailview.js"></script>
<script src="../ui/jquery-easyui-1.4.5/locale/easyui-lang-zh_CN.js"></script>
<script src="../js/crud/bus_pubuser.js"></script>
<script>
$(function(){
// $('#dg').edatagrid({
// url: './data/crud/userAction.php?flag=list',
// saveUrl: './data/crud/userAction.php?flag=add',
// updateUrl: './data/crud/userAction.php?flag=modify',
// destroyUrl: './data/crud/userAction.php?flag=delete'
// }); $('#dg').datagrid({
view: detailview,
detailFormatter:function(index,row){
return '<div class="ddv"></div>';
},
onExpandRow: function(index,row){
var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
ddv.panel({
border:false,
cache:true,
href:'./page/show_form.php?index='+index,
onLoad:function(){
$('#dg').datagrid('fixDetailRowHeight',index);
$('#dg').datagrid('selectRow',index);
$('#dg').datagrid('getRowDetail',index).find('form').form('load',row);
}
});
$('#dg').datagrid('fixDetailRowHeight',index);
}
}); });
</script>
</head>
<body>
<!--
作者:ethancoco
时间:2016-07-10
描述:list
-->
<table id="dg" title="用户列表" class="easyui-datagrid" url="./data/crud/userAction.php?flag=list" style="width:100%;height: 600px;" toolbar="#toolbar" rownumbers="true" pagination="true" fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="fname" width="50" >名</th>
<th field="lname" width="50" >姓</th>
<th field="sex" width="50" >性别</th>
<th field="phone" width="50" >联系电话</th>
<th field="email" width="50" >邮件</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">添加</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">删除</a>
</div>
<!--
作者:ethancoco
时间:2016-07-10
描述:dialog
-->
<!--<div id="dlg" class="easyui-dialog" style="width:400px;height:320px;padding:10px 20px;" closed="true" modal="true" buttons="#dlg-buttons">
<div class="ftitle">基本信息</div>
<hr />
<form id="fm" method="post">
<div class="fitem">
<p>
<label>First Name:</label>
<input name="fname" class="easyui-validatebox" required="true">
</p>
</div>
<div class="fitem">
<p>
<label>Last Name:</label>
<input name="lname" class="easyui-validatebox" required="true">
</p>
</div>
<div class="fitem">
<p>
<label>Sex:</label>
<input name="sex" class="easyui-validatebox" required="true">
</p>
</div>
<div class="fitem">
<p>
<label>Phone:</label>
<input name="phone">
</p>
</div>
<div class="fitem">
<p>
<label>Email:</label>
<input name="email" class="easyui-validatebox" validType="email">
</p>
</div>
</form>
</div>
<div id="dlg-buttons">
<a href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveUser()">保存</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')">关闭</a>
</div>-->
</body>
<html>
3、easyUI-创建 CRUD可创建展开行明细编辑dataGrid(表格)的更多相关文章
- 创建展开行明细编辑表单的 CRUD 应用
http://www.runoob.com/jeasyui/jeasyui-app-crud3.html jQuery EasyUI 应用 - 创建展开行明细编辑表单的 CRUD 应用 当切换数据网格 ...
- 【jQuery EasyUI系列】 创建展开行明细编辑表单的CRUD应用
当切换数据网络格局(datagrid view)到detailview,用户可以展开一行来显示一些行的明细在行下面,这个功能允许您为防止在明细行面板中的编辑表单提供一些合适的布局. 步骤1.在HTML ...
- easyui学习笔记3—在展开行内的增删改操作
这一篇介绍在一个展开行内进行的增删操作,如果一行很长有很多的数据,在一个展开行内进行编辑将更加方便. 1.先看引用的资源 <link rel="stylesheet" hre ...
- EasyUI之dataGrid的行内编辑
$(function () { var datagrid; //定义全局变量datagrid var editRow = undefined; //定义全局变量:当前编辑的行 datagrid = T ...
- js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable
js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable 一.总结 一句话总结:bootstrap能够做为最火的框架,绝对不仅仅只有我看到的位置,它应该还有很多位置可 ...
- JS组件系列——BootstrapTable 行内编辑解决方案:x-editable
前言:之前介绍bootstrapTable组件的时候有提到它的行内编辑功能,只不过为了展示功能,将此一笔带过了,罪过罪过!最近项目里面还是打算将行内编辑用起来,于是再次研究了下x-editable组件 ...
- [转]JS组件系列——BootstrapTable 行内编辑解决方案:x-editable
本文转自:http://www.cnblogs.com/landeanfen/p/5821192.html 阅读目录 一.x-editable组件介绍 二.bootstrapTable行内编辑初始方案 ...
- jQuery EasyUI 应用 – 创建 CRUD 应用(表格)
jQuery EasyUI 应用 - 创建 CRUD 应用 本节介绍如何创建CRUD应用. CRUD分别是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删 ...
- 【jQuery EasyUI系列】创建CRUD数据网格
在上一篇中我们使用对话框组件创建了CRUD应用创建和编辑用户信息.本篇我们来创建一个CRUD数据网格DataGrid 步骤1,在HTML标签中定义数据网格(DataGrid) <table id ...
随机推荐
- vue - check-version
描述:check-versions.js,vue-cli中检查版本的js文件 使用:
- java8 环境变量设置
Java8环境变量配置:a.JAVA_HOME:jdk安装目录b.CLASSPATH:.;%JAVA_HOME%\libc.PATH:%JAVA_HOME%\bin配置环境变量方法:1.点击计算机,右 ...
- Subl 命令
Subl 是sublime 的命令 添加环境变量后可以,在cmd 或者git 下直接 使用subl 进行 打开sublime Example: Subl 打开编辑器 Subl . 将当 ...
- vue 预渲染 prerender-spa-plugin
1.预渲染说明 https://ssr.vuejs.org/zh/#为什么使用服务器端渲染-ssr-? 如果你调研服务器端渲染(SSR)只是用来改善少数营销页面(例如 /, /about, /cont ...
- 《Docker 入门与实践》 已经出版了~欢迎有须要的朋友关注。
在云计算时代.开发人员将应用转移到云上已经攻克了硬件管理的问题,然而软件配置和管理相关的问题依旧存在. Docker的出现正好能帮助软件开发人员开阔思路.尝试新的软件管理方法来解决问题. 通过掌握Do ...
- Tomcat 服务器只能存有一个正在运行的项目
即使新建了一个new project (在同一个工作空间),启动Tomcat 还是会出现先前(工程名)一样的问题/异常. [原因]: 在底下Server 那里——Tomcat 7.X 底下会有很多工程 ...
- android中点击事件的4种写法
android中获取到一些控件(比如说按钮)时,一般会为其添加点击事件,android中的点击事件一共有4中写法. 假设在布局文件中声明如下 ....... <Button android:la ...
- lucene 范围搜索表达式(range expression)
实际测试 lucene范围符号,大于等于或小于等于符号[],大于或小于符号{} newIntRange或newLongRange一样 代码: // test lucen ...
- UIAlertViewController 2
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...
- Win7与虚拟机Linux互通ping的网络设置
转载请标明出处:http://www.linuxidc.com/Linux/2014-04/100450.htm 虽然从WinXP到Win7一直都可以使用VMWARE虚拟机安装Linux系统,记得每次 ...