Jquery easyui開啟行編輯模式增刪改操作
Jquery easyui開啟行編輯模式增刪改操作先上圖
Html代碼:
<table id="dd"> </table>
引入JS文件和CSS樣式
<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.js" type="text/javascript"></script> <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery.easyui.min.js" type="text/javascript"></script> <link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/default/easyui.css" rel="stylesheet" type="text/css" /> <link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/icon.css" rel="stylesheet" type="text/css" /> <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script type="text/javascript"> $(function () { var datagrid; //定義全局變量datagrid var editRow = undefined; //定義全局變量:當前編輯的行 datagrid = $("#dd").datagrid({ url: 'UserCenter.aspx', //請求的數據源 iconCls: 'icon-save', //圖標 pagination: true, //顯示分頁 pageSize: 15, //頁大小 pageList: [15, 30, 45, 60], //頁大小下拉選項此項各value是pageSize的倍數 fit: true, //datagrid自適應寬度 fitColumn: false, //列自適應寬度 striped: true, //行背景交換 nowap: true, //列內容多時自動折至第二行 border: false, idField: 'ID', //主鍵 columns: [[//顯示的列 {field: 'ID', title: '編號', width: 100, sortable: true, checkbox: true }, { field: 'UserName', title: '用戶名', width: 100, sortable: true, editor: { type: 'validatebox', options: { required: true} } }, { field: 'RealName', title: '真實名稱', width: 100, editor: { type: 'validatebox', options: { required: true} } }, { field: 'Email', title: '郵箱', width: 100, editor: { type: 'validatebox', options: { required: true} } } ]], queryParams: { action: 'query' }, //查詢參數 toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function () {//添加列表的操作按鈕添加,修改,刪除等 //添加時先判斷是否有開啟編輯的行,如果有則把開戶編輯的那行結束編輯 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } //添加時如果沒有正在編輯的行,則在datagrid的第一行插入一行 if (editRow == undefined) { datagrid.datagrid("insertRow", { index: 0, // index start with 0 row: { } }); //將新插入的那一行開戶編輯狀態 datagrid.datagrid("beginEdit", 0); //給當前編輯的行賦值 editRow = 0; } } }, '-', { text: '刪除', iconCls: 'icon-remove', handler: function () { //刪除時先獲取選擇行 var rows = datagrid.datagrid("getSelections"); //選擇要刪除的行 if (rows.length > 0) { $.messager.confirm("提示", "你確定要刪除嗎?", function (r) { if (r) { var ids = []; for (var i = 0; i < rows.length; i++) { ids.push(rows[i].ID); } //將選擇到的行存入數組並用,分隔轉換成字符串, //本例只是前台操作沒有與數據庫進行交互所以此處只是彈出要傳入后台的id alert(ids.join(',')); } }); } else { $.messager.alert("提示", "請選擇要刪除的行", "error"); } } }, '-', { text: '修改', iconCls: 'icon-edit', handler: function () { //修改時要獲取選擇到的行 var rows = datagrid.datagrid("getSelections"); //如果只選擇了一行則可以進行修改,否則不操作 if (rows.length == 1) { //修改之前先關閉已經開啟的編輯行,當調用endEdit該方法時會觸發onAfterEdit事件 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } //當無編輯行時 if (editRow == undefined) { //獲取到當前選擇行的下標 var index = datagrid.datagrid("getRowIndex", rows[0]); //開啟編輯 datagrid.datagrid("beginEdit", index); //把當前開啟編輯的行賦值給全局變量editRow editRow = index; //當開啟了當前選擇行的編輯狀態之后, //應該取消當前列表的所有選擇行,要不然雙擊之后無法再選擇其他行進行編輯 datagrid.datagrid("unselectAll"); } } } }, '-', { text: '保存', iconCls: 'icon-save', handler: function () { //保存時結束當前編輯的行,自動觸發onAfterEdit事件如果要與后台交互可將數據通過Ajax提交后台 datagrid.datagrid("endEdit", editRow); } }, '-', { text: '取消編輯', iconCls: 'icon-redo', handler: function () { //取消當前編輯行把當前編輯行罷undefined回滾改變的數據,取消選擇的行 editRow = undefined; datagrid.datagrid("rejectChanges"); datagrid.datagrid("unselectAll"); } }, '-'], onAfterEdit: function (rowIndex, rowData, changes) { //endEdit該方法觸發此事件 console.info(rowData); editRow = undefined; }, onDblClickRow: function (rowIndex, rowData) { //雙擊開啟編輯行 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } if (editRow == undefined) { datagrid.datagrid("beginEdit", rowIndex); editRow = rowIndex; } } }); }); </script>
評論列表
最新IT新聞:
· 搜狗預取引擎成小米路由核心技術 秒開網頁全終端加速
· 國外女漢子自制混合動力車:地溝油也能加
· 感謝微軟!Windows設備將支持無線充電
· 圖說世界地球日:看地球上最臟的河
· 兩名宇航員在太空玩起了自拍
» 更多新聞...
· 搜狗預取引擎成小米路由核心技術 秒開網頁全終端加速
· 國外女漢子自制混合動力車:地溝油也能加
· 感謝微軟!Windows設備將支持無線充電
· 圖說世界地球日:看地球上最臟的河
· 兩名宇航員在太空玩起了自拍
» 更多新聞...
最新知識庫文章:
·
MVC vs. MVP vs. MVVM
· 不是技術牛人,如何拿到國內IT巨頭的Offer
· 深入淺出交換類排序算法
· 從Code Review談如何做技術
· Web開發常見的幾個漏洞解決方法
»
更多知識庫文章...
· 不是技術牛人,如何拿到國內IT巨頭的Offer
· 深入淺出交換類排序算法
· 從Code Review談如何做技術
· Web開發常見的幾個漏洞解決方法
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
28 | 29 | 30 | 1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
搜索
隨筆分類
隨筆檔案
相冊
積分與排名
- 積分 - 18753
- 排名 - 8073
最新評論
- 1. Re:Jquery easyui開啟行編輯模式增刪改操作
- 那你前台的數據是如何傳遞到后台去的呢,后台又是如何接受這些數據集...
- 2. Re:Jquery easyui開啟行編輯模式增刪改操作
- @ILONEY
可以的 - 3. Re:Jquery easyui開啟行編輯模式增刪改操作
- 請問能同時實現添加多行嗎?
- 4. Re:學習Jquery EasyUI的添加,修改,刪除,查詢等基本操作
- mark 3Q
- 5. Re:C#開發Windows服務 附簡單實例實現禁止QQ運行
- 不錯寫得非常好,很有用,希望繼續發表更好的文章
閱讀排行榜
評論排行榜
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="../themes/icon.css" rel="stylesheet" />
<link href="../themes/default/easyui.css" rel="stylesheet" />
<link href="../src/demo.css" rel="stylesheet" />
<script src="../comjs/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="src/easyloader.js" type="text/javascript"></script>
<script src="../comjs/jquery.easyui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var datagrid; //定義全局變量datagrid
var editRow = undefined; //定義全局變量:當前編輯的行
datagrid = $("#dd").datagrid({
url: "Data.ashx", //請求的數據源
iconCls: "icon-save", //圖標
pagination: true, //顯示分頁
pageSize: 8, //頁大小
pageList: [8,15, 30, 45, 60], //頁大小下拉選項此項各value是pageSize的倍數
fit: true, //datagrid自適應寬度
fitColumn: false, //列自適應寬度
striped: true, //行背景交換
nowap: true, //列內容多時自動折至第二行
border: false,
idField: "mId", //主鍵
columns: [[//顯示的列
{ checkbox: true },
{
field: "mId", title: "編號", width: 100, align: "center", sortable: true
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mName", title: "菜單名", align: "center", width: 100, sortable: true
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mIsDel", title: "刪除標示", align: "center", width: 100
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mAddtime", title: "添加時間", align: "center", width: 100
,
editor: { type: "validatebox", options: { required: true } }
}
]],
// columns: [[
//{ checkbox: true },
//{ field: "mId", title: "MenuID", width: 100, align: "center" },
//{ field: "mName", title: "MenuName", width: 100, align: "center" },
// { field: "mIsDel", title: "MenuIsDel", width: 100, align: "center" },
//{ field: "mAddtime", title: "MenuAddtime", width: 100, align: "center" }
// ]],
queryParams: { action: "query" }, //查詢參數
toolbar: [{
text: "添加", iconCls: "icon-add", handler: function () {//添加列表的操作按鈕添加,修改,刪除等
//添加時先判斷是否有開啟編輯的行,如果有則把開戶編輯的那行結束編輯
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//添加時如果沒有正在編輯的行,則在datagrid的第一行插入一行
if (editRow == undefined) {
datagrid.datagrid("insertRow", {
index: 0, // index start with 0
row: {
}
});
//將新插入的那一行開戶編輯狀態
datagrid.datagrid("beginEdit", 0);
//給當前編輯的行賦值
editRow = 0;
}
}
}, "-",
{
text: "刪除", iconCls: "icon-remove", handler: function () {
//刪除時先獲取選擇行
var NumIndex = datagrid.datagrid("getRowIndex", datagrid.datagrid("getSelections")[0]);
var rows = datagrid.datagrid("getSelections");
//選擇要刪除的行
if (rows.length > 0) {
$.messager.confirm("提示", "你確定要刪除嗎?", function (r) {
if (r) {
var ids = [];
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].mId);
// datagrid.datagrid('deleteRow', NumIndex[i]);
}
for (var i = 0; i < rows.length; i++) {
// ids.push(rows[i].mId);
datagrid.datagrid('deleteRow', datagrid.datagrid("getRowIndex", datagrid.datagrid("getSelections")[i]));
console.info(NumIndex[0]+":"+NumIndex[1]+":"+NumIndex[2]);
// console.info(rows);
}
datagrid.datagrid('deleteRow',NumIndex);
ids.join(",");
console.info(ids);
//將選擇到的行存入數組並用,分隔轉換成字符串,
//本例只是前台操作沒有與數據庫進行交互所以此處只是彈出要傳入后台的id
// alert(ids.join(","));
}
});
}
else {
$.messager.alert("提示", "請選擇要刪除的行", "hahhahah");
}
}
}, "-",
{
text: "修改", iconCls: "icon-edit", handler: function () {
//修改時要獲取選擇到的行
var rows = datagrid.datagrid("getSelections");
//如果只選擇了一行則可以進行修改,否則不操作
if (rows.length == 1) {
//修改之前先關閉已經開啟的編輯行,當調用endEdit該方法時會觸發onAfterEdit事件
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//當無編輯行時
if (editRow == undefined) {
//獲取到當前選擇行的下標
var index = datagrid.datagrid("getRowIndex", rows[0]);
//開啟編輯
datagrid.datagrid("beginEdit", index);
//把當前開啟編輯的行賦值給全局變量editRow
editRow = index;
//當開啟了當前選擇行的編輯狀態之后,
//應該取消當前列表的所有選擇行,要不然雙擊之后無法再選擇其他行進行編輯
datagrid.datagrid("unselectAll");
}
}
}
}, "-",
{
text: "保存", iconCls: "icon-save", handler: function () {
//保存時結束當前編輯的行,自動觸發onAfterEdit事件如果要與后台交互可將數據通過Ajax提交后台
datagrid.datagrid("endEdit", editRow);
}
}, "-",
{
text: "取消編輯", iconCls: "icon-redo", handler: function () {
//取消當前編輯行把當前編輯行罷undefined回滾改變的數據,取消選擇的行
editRow = undefined;
datagrid.datagrid("rejectChanges");
datagrid.datagrid("unselectAll");
}
}, "-"],
onAfterEdit: function (rowIndex, rowData, changes) {
//endEdit該方法觸發此事件
console.info(rowData);
editRow = undefined;
},
onDblClickRow: function (rowIndex, rowData) {
//雙擊開啟編輯行
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
if (editRow == undefined) {
datagrid.datagrid("beginEdit", rowIndex);
editRow = rowIndex;
}
}
});
});
</script>
</head>
<body>
<table id="dd">
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="../themes/icon.css" rel="stylesheet" />
<link href="../themes/default/easyui.css" rel="stylesheet" />
<link href="../src/demo.css" rel="stylesheet" />
<script src="../comjs/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="src/easyloader.js" type="text/javascript"></script>
<script src="../comjs/jquery.easyui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var datagrid; //定義全局變量datagrid
var editRow = undefined; //定義全局變量:當前編輯的行
datagrid = $("#dd").datagrid({
url: "Data.ashx", //請求的數據源
iconCls: "icon-save", //圖標
pagination: true, //顯示分頁
pageSize: 8, //頁大小
pageList: [8,15, 30, 45, 60], //頁大小下拉選項此項各value是pageSize的倍數
fit: true, //datagrid自適應寬度
fitColumn: false, //列自適應寬度
striped: true, //行背景交換
nowap: true, //列內容多時自動折至第二行
border: false,
idField: "mId", //主鍵
columns: [[//顯示的列
{ checkbox: true },
{
field: "mId", title: "編號", width: 100, align: "center", sortable: true
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mName", title: "菜單名", align: "center", width: 100, sortable: true
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mIsDel", title: "刪除標示", align: "center", width: 100
,
editor: { type: "validatebox", options: { required: true } }
},
{
field: "mAddtime", title: "添加時間", align: "center", width: 100
,
editor: { type: "validatebox", options: { required: true } }
}
]],
// columns: [[
//{ checkbox: true },
//{ field: "mId", title: "MenuID", width: 100, align: "center" },
//{ field: "mName", title: "MenuName", width: 100, align: "center" },
// { field: "mIsDel", title: "MenuIsDel", width: 100, align: "center" },
//{ field: "mAddtime", title: "MenuAddtime", width: 100, align: "center" }
// ]],
queryParams: { action: "query" }, //查詢參數
toolbar: [{
text: "添加", iconCls: "icon-add", handler: function () {//添加列表的操作按鈕添加,修改,刪除等
//添加時先判斷是否有開啟編輯的行,如果有則把開戶編輯的那行結束編輯
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//添加時如果沒有正在編輯的行,則在datagrid的第一行插入一行
if (editRow == undefined) {
datagrid.datagrid("insertRow", {
index: 0, // index start with 0
row: {
}
});
//將新插入的那一行開戶編輯狀態
datagrid.datagrid("beginEdit", 0);
//給當前編輯的行賦值
editRow = 0;
}
}
}, "-",
{
text: "刪除", iconCls: "icon-remove", handler: function () {
//刪除時先獲取選擇行
var NumIndex = datagrid.datagrid("getRowIndex", datagrid.datagrid("getSelections")[0]);
var rows = datagrid.datagrid("getSelections");
//選擇要刪除的行
if (rows.length > 0) {
$.messager.confirm("提示", "你確定要刪除嗎?", function (r) {
if (r) {
var ids = [];
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].mId);
// datagrid.datagrid('deleteRow', NumIndex[i]);
}
for (var i = 0; i < rows.length; i++) {
// ids.push(rows[i].mId);
datagrid.datagrid('deleteRow', datagrid.datagrid("getRowIndex", datagrid.datagrid("getSelections")[i]));
console.info(NumIndex[0]+":"+NumIndex[1]+":"+NumIndex[2]);
// console.info(rows);
}
datagrid.datagrid('deleteRow',NumIndex);
ids.join(",");
console.info(ids);
//將選擇到的行存入數組並用,分隔轉換成字符串,
//本例只是前台操作沒有與數據庫進行交互所以此處只是彈出要傳入后台的id
// alert(ids.join(","));
}
});
}
else {
$.messager.alert("提示", "請選擇要刪除的行", "hahhahah");
}
}
}, "-",
{
text: "修改", iconCls: "icon-edit", handler: function () {
//修改時要獲取選擇到的行
var rows = datagrid.datagrid("getSelections");
//如果只選擇了一行則可以進行修改,否則不操作
if (rows.length == 1) {
//修改之前先關閉已經開啟的編輯行,當調用endEdit該方法時會觸發onAfterEdit事件
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//當無編輯行時
if (editRow == undefined) {
//獲取到當前選擇行的下標
var index = datagrid.datagrid("getRowIndex", rows[0]);
//開啟編輯
datagrid.datagrid("beginEdit", index);
//把當前開啟編輯的行賦值給全局變量editRow
editRow = index;
//當開啟了當前選擇行的編輯狀態之后,
//應該取消當前列表的所有選擇行,要不然雙擊之后無法再選擇其他行進行編輯
datagrid.datagrid("unselectAll");
}
}
}
}, "-",
{
text: "保存", iconCls: "icon-save", handler: function () {
//保存時結束當前編輯的行,自動觸發onAfterEdit事件如果要與后台交互可將數據通過Ajax提交后台
datagrid.datagrid("endEdit", editRow);
}
}, "-",
{
text: "取消編輯", iconCls: "icon-redo", handler: function () {
//取消當前編輯行把當前編輯行罷undefined回滾改變的數據,取消選擇的行
editRow = undefined;
datagrid.datagrid("rejectChanges");
datagrid.datagrid("unselectAll");
}
}, "-"],
onAfterEdit: function (rowIndex, rowData, changes) {
//endEdit該方法觸發此事件
console.info(rowData);
editRow = undefined;
},
onDblClickRow: function (rowIndex, rowData) {
//雙擊開啟編輯行
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
if (editRow == undefined) {
datagrid.datagrid("beginEdit", rowIndex);
editRow = rowIndex;
}
}
});
});
</script>
</head>
<body>
<table id="dd">
</table>
</body>
</html>
正是我想要的,感激不盡