国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JQuery EasyUI學習教程之datagrid 添加、修改、刪除操作

2019-11-20 09:31:59
字體:
來源:轉載
供稿:網友

一篇關于JQueryEasyUI學習之datagrid 添加、修改、刪除 學習筆記教程有需要了解的朋友可參考本的筆記,批量刪除,雙擊表單修改、選中行修改,增加行修改,再有就是擴展editor的方法,無需廢話,直接上代碼,代碼中的注釋寫的很詳細

<script type="text/javascript" charst="utf-8">var editFlag = undefined;//設置一個編輯標記//因為layout框架指向href時,只取html頁面body中間的部分,所以該頁面這樣寫即可//有datagrid包含屬性較多,所以盡量使用js的方式初始化datagrid框架$(function () {$("#dg").datagrid({url: "GetJson.ashx", //指向一個一般處理程序或者一個控制器,返回數據要求是Json格式,直接賦值Json格式數據也可,我以demo中自帶的Json數據為例,就不寫后臺代碼了,但是我會說下后臺返回的注意事項iconCls: "icon-add",fitColumns: false, //設置為true將自動使列適應表格寬度以防止出現水平滾動,false則自動匹配大小//toolbar設置表格頂部的工具欄,以數組形式設置idField: 'id', //標識列,一般設為id,可能會區分大小寫,大家注意一下loadMsg: "正在努力為您加載數據", //加載數據時向用戶展示的語句pagination: true, //顯示最下端的分頁工具欄rownumbers: true, //顯示行數 1,2,3,4...pageSize: 10, //讀取分頁條數,即向后臺讀取數據時傳過去的值pageList: [10, 20, 30], //可以調整每頁顯示的數據,即調整pageSize每次向后臺請求數據時的數據//由于datagrid的屬性過多,我就不每個都介紹了,如有需要,可以看它的APIsortName: "name", //初始化表格時依據的排序 字段 必須和數據庫中的字段名稱相同sortOrder: "asc", //正序columns: [[{field: 'code', title: 'Code', width: 100,editor: {//設置其為可編輯type: 'validatebox',//設置編輯樣式 自帶樣式有:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree 可自行擴展options: {}}},{field: 'name', title: 'Name', width: 100, sortable: true,editor: {//設置其為可編輯type: 'validatebox',//設置編輯格式options: {required: true//設置編輯規則屬性}}},//sortable:true點擊該列的時候可以改變升降序{field: 'addr', title: 'addr', width: 100,editor: {//設置其為可編輯type: 'datetimebox',//這里我們將進行一個datetimebox的擴展options: {required: true//設置編輯規則屬性}}}]],//這里之所以有兩個方括號,是因為可以做成水晶報表形式,具體可看demotoolbar: [{//在dategrid表單的頭部添加按鈕text: "添加",iconCls: "icon-add",handler: function () {if (editFlag != undefined) {$("#dg").datagrid('endEdit', editFlag);//結束編輯,傳入之前編輯的行}if (editFlag == undefined) {//防止同時打開過多添加行$("#dg").datagrid('insertRow', {//在指定行添加數據,appendRow是在最后一行添加數據index: 0, // 行數從0開始計算row: {code: '',name: '請輸入姓名',addr: ''}});$("#dg").datagrid('beginEdit', 0);//開啟編輯并傳入要編輯的行editFlag = 0;}}}, '-', {//'-'就是在兩個按鈕的中間加一個豎線分割,看著舒服text: "刪除",iconCls: "icon-remove",handler: function () {//選中要刪除的行var rows = $("#dg").datagrid('getSelections');if (rows.length > 0) {//選中幾行的話觸發事件$.message.confirm("提示", "您確定要刪除這些數據嗎?", function (res) {//提示是否刪除if (res) {var codes = {};for (var i = 0; i < rows.length; i++) {codes.push(rows[i].code);}console.info(codes.join(','));//拼接字符串并傳遞到后臺處理數據,循環刪除,成功后刷新datagrid}});}}}, '-', {text: "修改",iconCls: "icon-edit",handler: function () {//選中一行進行編輯var rows = $("#dg").datagrid('getSelections');if (rows.length == 1) {//選中一行的話觸發事件if (editFlag != undefined) {$("#dg").datagrid('endEdit', editFlag);//結束編輯,傳入之前編輯的行}if (editFlag == undefined) {var index = $("#dg").datagrid('getRowIndex', rows[0]);//獲取選定行的索引$("#dg").datagrid('beginEdit', index);//開啟編輯并傳入要編輯的行editFlag = index;}}}}, '-', {text: "保存",iconCls: "icon-save",handler: function () {$("#dg").datagrid('endEdit', editFlag);}}, '-', {text: "撤銷",iconCls: "icon-redo",handler: function () {editFlag = undefined;$("#dg").datagrid('rejectChanges');}}, '-'],onAfterEdit: function (rowIndex, rowData, changes) {//在添加完畢endEdit,保存時觸發console.info(rowData);//在火狐瀏覽器的控制臺下可看到傳遞到后臺的數據,這里我們就可以利用這些數據異步到后臺添加,添加完成后,刷新datagrideditFlag = undefined;//重置}, onDblClickCell: function (rowIndex, field, value) {//雙擊該行修改內容if (editFlag != undefined) {$("#dg").datagrid('endEdit', editFlag);//結束編輯,傳入之前編輯的行}if (editFlag == undefined) {$("#dg").datagrid('beginEdit', rowIndex);//開啟編輯并傳入要編輯的行editFlag = rowIndex;}}});});//點擊查找按鈕出發事件function searchFunc() {alert("123");$("#dg").datagrid("load", sy.serializeObject($("#searchForm").form()));//將searchForm表單內的元素序列為對象傳遞到后臺//這里介紹reload的使用,使用reload時,會默認記住當前頁面,當點擊查詢時,如果我們查到的數據只有三條,我們每頁顯示10挑數據,當前頁碼是2,那么我們將無法在當前頁面看到我們查詢出的結果,只有將頁面向前跳轉才會看到,但是用load就不會出現這種情況}//點擊清空按鈕出發事件function clearSearch() {$("#dg").datagrid("load", {});//重新加載數據,無填寫數據,向后臺傳遞值則為空$("#searchForm").find("input").val("");//找到form表單下的所有input標簽并清空}</script><div class="easyui-tabs" fit="true" border="false"><div title="數據展示表格" border="false" fit="true"><div class="easyui-layout" fit="true" border="false"><!--由于查詢需要輸入條件,但是以toolbar的形式不好,所以我們在Layout框架的頭部north中書寫查詢的相關信息--><!-- 這里我們盡量使其展示的樣式與toolbar的樣式相似,所以我們先查找toolbar的樣式,并復制過來--><div data-options="region:'north',title:'高級查詢'" style="height: 100px; background: #F4F4F4;"><form id="searchForm"><table><tr><th>用戶姓名:</th><td><input name="name" /></td></tr><tr><th>創建開始時間</th><td><input class="easyui-datetimebox" editable="false" name="subStartTime" /></td><!--由于datebox框架上面的數據必須是時間格式的,所以我們用editable="false"來禁止用戶手動輸入,以免報錯--><th>創建結束時間</th><td><input class="easyui-datetimebox" editable="false" name="nsubEndTimeame" /></td><td><a class="easyui-linkbutton" href="javascript:void(0);" onclick="searchFunc();">查找</a></td><td><a class="easyui-linkbutton" href="javascript:void(0);" onclick="clearSearch();">清空</a></td></tr></table></form></div><div data-options="region:'center',split:false"><table id="dg"></table></div></div></div></div>

擴展editor方法:datetimebox

$(function () {/*擴展Editors的datetimebox方法*/$.extend($.fn.datagrid.defaults.editors, {datetimebox: {//為方法取名init: function (container, options) {var editor = $('<input />').appendTo(container);options.editable = false;//設置其不能手動輸入editor.datetimebox(options);return editor;},getValue: function (target) {//取值return $(target).datetimebox('getValue');},setValue: function (target, value) {//設置值$(target).datetimebox('setValue', value);},resize: function (target, width) {$(target).datetimebox('resize', width);},destroy: function (target) {$(target).datetimebox('destroy');//銷毀生成的panel}}});});

以上所述是小編給大家介紹的JQuery EasyUI datagrid 添加、修改、刪除操作的全部敘述,希望對大家有所幫助,如果大家想了解更多內容敬請關注武林網網站!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新邵县| 诏安县| 城口县| 九龙坡区| 衡南县| 台南市| 红安县| 奉新县| 麻江县| 鸡西市| 三门峡市| 乐亭县| 容城县| 木兰县| 新乡市| 太康县| 峨边| 牟定县| 常山县| 临桂县| 齐齐哈尔市| 如皋市| 江阴市| 邵东县| 洛扎县| 旬阳县| 肥乡县| 镇沅| 东乌珠穆沁旗| 正蓝旗| 宁国市| 宁晋县| 文山县| 丹阳市| 五莲县| 冀州市| 陈巴尔虎旗| 沙河市| 潞城市| 霍邱县| 绥滨县|