基于asp.net + easyui框架——实现添加、编辑、删除(三)

来源:互联网 发布:淘宝晒单福利图2000p 编辑:程序博客网 时间:2024/06/14 22:43

这篇博客的主题是实现对话窗口的添加、编辑和删除。我们总共分成五步:

       1、制作对话窗口html

                                     


  1. <%-- 弹出操作框--%>  
  2.  <div id="dlg" class="easyui-dialog" style="width: 400px; height: auto; padding: 10px 20px"  
  3.      data-options="closed:true,buttons:'#dlg-buttons'"> <%--closed="true" buttons="#dlg-buttons"--%>  
  4.      <div class="ftitle">管理员信息</div>  
  5.      <form id="fm" method="post">  
  6.          <div class="fitem">  
  7.              <label>用户名:</label>  
  8.              <input id="firstname" name="firstname" class="easyui-validatebox" data-options="required:true"/>  
  9.          </div>  
  10.          <div class="fitem">  
  11.              <label>密码:</label>  
  12.              <input id="password" name="password" class="easyui-validatebox" data-options="required:true"/>  
  13.              <input name="Test" id="test" type="hidden" />  
  14.              <input name="AdminID" id="AdminID" type="hidden" />  
  15.              <input id="key" name="key" onkeydown"if(event.keyCode==13)reloadgrid()"  type="hidden"/>  
  16.          </div>  
  17.          <div class="fitem">  
  18.             <label>员工姓名:</label>  
  19.              <input id="workerName" name="workerName" class="easyui-combobox"/>  
  20.          </div>  
  21.          <div class="fitem">  
  22.              <label>权限:</label>  
  23.              <input id="adminRightName" name="adminRightName" class="easyui-combobox"/>    
  24.          </div>  
  25.   
  26.          <div class="fitem">  
  27.              <label>备注:</label>  
  28.              <textarea  id="message" name="message" style="width:150px;"></textarea>  
  29.          </div>  
  30.      </form>  
  31.  </div>  
  32.  <div id="dlg-buttons">  
  33.      <a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" onclick="saveUser()">保存</a>  
  34.      <a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="javascript:$('#dlg').dialog('close')">关闭</a>  
  35.  </div>  



弹出对话窗口的js

[javascript] view plain copy
  1. //添加管理员  
  2. function newUser() {  
  3.     //清空内容  
  4.     $('#fm').form('clear');  
  5.     //加载工作人员的姓名和权限  
  6.     loadWorkerNameAndRightName();  
  7.   
  8.     $('#dlg').dialog('open').dialog('setTitle''添加管理员');  
  9.     document.getElementById("test").value = "add";  
  10. }  
  11.   
  12.     //修改管理员  
  13.     function editUser() {  
  14.       
  15.         var row = $('#tt').datagrid('getSelected');  
  16.           
  17.         if (row == null) {  
  18.             $.messager.alert("提示""请选择要修改的行!""info");  
  19.         }  
  20.   
  21.         //加载工作人员的姓名和权限  
  22.         loadWorkerNameAndRightName()  
  23.         if (row) {  
  24.          
  25.             //获取要修改的字段  
  26.             $('#firstname').val(row.AdminName);  
  27.             $('#password').val(row.AdminPassword);  
  28.             //$('#adminRightName').val(row.AdminRightName);  
  29.             //$('#adminRightName').combobox('setValue', row.AdminRightName);  
  30.             ////$('#workerName').val(row.WorkerRealName);  
  31.             //$('#workerName').combobox('setValue', row.WorkerRealName);  
  32.             $('#message').val(row.AdminState)  
  33.             $('#dlg').dialog('open').dialog('setTitle''修改管理员');  
  34.             document.getElementById("test").value = "modify";  
  35.             $('#fm').form('load', row);  
  36.   
  37.         }  
  38.     }  

3.实现对话框中下拉框的动态加载

       在博客开头为大家设置了一个悬念,在实现过程中遇到了困难,就是在下拉框动态加载数据时,显示的是一个数据库信息,更新的时候要更新此显示信息的数据库主键。多个下拉框的实现方案和一个下拉框是一样的。

       解决方案:

       只需要调用一般处理程序,将所需数据转化成json作为返回值,发送到界面端,显示在下拉框中的数据绑定到combobox的textField属性中,需要更新的数据绑定到valueField属性中,此时一切都ok了。


实现效果:

                                          

实现代码js:


[javascript] view plain copy
  1. //加载工作人员的姓名和权限  
  2.       function loadWorkerNameAndRightName() {  
  3.           var queryWorkerName = "SetAdmin.ashx?test=queryWorkerName";  
  4.           $.getJSON(queryWorkerName, function (json) {  
  5.               $('#workerName').combobox({  
  6.                   data: json.rows,  
  7.                   valueField: 'WorkerID',  
  8.                   textField: 'WorkerRealName',  
  9.                   required: 'true',  
  10.                   editable: 'false'  
  11.               });  
  12.           })  
  13.   
  14.           var queryRightName = "SetAdmin.ashx?test=queryRightName";  
  15.           $.getJSON(queryRightName, function (json) {  
  16.               $('#adminRightName').combobox({  
  17.                   data: json.rows,  
  18.                   valueField: 'AdminRightID',  
  19.                   textField: 'AdminRightName',   
  20.                   required: 'true',  
  21.                   panelHeight: 'auto'  
  22.               });  
  23.           })  
  24.         
  25.       }  


4.实现对话窗口的保存和取消功能

[javascript] view plain copy
  1. //保存信息  
  2.  function saveUser() {  
  3.            
  4.      var firstname = document.getElementById("firstname").value;  
  5.      var password = document.getElementById("password").value;  
  6.      var workerID = $("#workerName").combobox("getValue");;             
  7.      var adminRightID = $("#adminRightName").combobox("getValue");   
  8.      var message =  document.getElementById("message").value;  
  9.       
  10.      var test = document.getElementById("test").value;  
  11.   
  12.      if (test == "add") {  
  13.          $('#fm').form('submit', {  
  14.              url: "SetAdmin.ashx?test=" + test + "&firstname=" + firstname + "&password=" + password + "&workerID=" + workerID +  
  15. adminRightID=" + adminRightID + "&message=" + message,  
  16.              onSubmit: function () {  
  17.                  return $(this).form('validate');  
  18.              },  
  19.              success: function (result) {  
  20.                  if (result.indexOf("T") == 0) {  
  21.                      $('#dlg').dialog('close');  
  22.                      $.messager.alert("提示""恭喜您,信息添加成功""info");  
  23.                      //alert('恭喜您,信息添加成功!')  
  24.                      // close the dialog  
  25.                      $('#tt').datagrid('reload');  
  26.                      //$('#fm').form('submit');  
  27.   
  28.                  }  
  29.                  else {  
  30.                      $.messager.alert("提示""添加失败,请重新操作!""info");  
  31.                      return;  
  32.                      //alert('添加失败,请重新操作!')  
  33.                  }  
  34.   
  35.                  //var result = eval('(' + result + ')');  
  36.   
  37.                  //if (result.success) {  
  38.                  //    $('#dlg').dialog('close');       // close the dialog  
  39.                  //    $('#tt').datagrid('reload'); // reload the user data  
  40.                  //} else {  
  41.                  //    $.messager.show({  
  42.                  //        title: 'Error',  
  43.                  //        msg: result.msg  
  44.                  //    });  
  45.                  //}  
  46.              }  
  47.          });  
  48.   
  49.      } else {  
  50.          var row = $('#tt').datagrid('getSelected');  
  51.          if (row) {  
  52.              //获取要修改的字段  
  53.              var adminID = row.AdminID;  
  54.          }  
  55.          $('#fm').form('submit', {  
  56.              url: "SetAdmin.ashx?test=" + test + "&adminID=" + adminID + "&firstname=" + firstname + "&password=" + password + "&workerID=" +  
  57. ID + "&adminRightID=" + adminRightID + "&message=" + message,  
  58.              onSubmit: function () {  
  59.                  return $(this).form('validate');  
  60.              },  
  61.              success: function (result) {  
  62.                  if (result.indexOf("T") == 0) {  
  63.                      $('#dlg').dialog('close');  
  64.                      $('#tt').datagrid('clearSelections'); //清空选中的行  
  65.                      $.messager.alert("提示""恭喜您,信息修改成功""info");  
  66.                      //alert('恭喜您,信息添加成功!')  
  67.                      // close the dialog  
  68.                      $('#tt').datagrid('reload');  
  69.                      $('#fm').form('submit');  
  70.   
  71.                  }  
  72.                  else {  
  73.                      $.messager.alert("提示""修改失败,请重新操作!""info");  
  74.                      return;  
  75.                      //alert('添加失败,请重新操作!')  
  76.                  }  
  77.   
  78.                  //var result = eval('(' + result + ')');  
  79.   
  80.                  //if (result.success) {  
  81.                  //    $('#dlg').dialog('close');       // close the dialog  
  82.                  //    $('#tt').datagrid('reload'); // reload the user data  
  83.                  //} else {  
  84.                  //    $.messager.show({  
  85.                  //        title: 'Error',  
  86.                  //        msg: result.msg  
  87.                  //    });  
  88.                  //}  
  89.              }  
  90.          });  
  91.      }    
  92.  }  


5.实现删除功能

[javascript] view plain copy
  1. //删除管理员  
  2. function removeUser() {  
  3.     var test = document.getElementById("test").value = "delete";  
  4.     var row = $('#tt').datagrid('getSelected');  
  5.     if (row == null) {  
  6.         $.messager.alert("提示""请选择要删除的行!""info");  
  7.     }  
  8.     if (row) {  
  9.         $.messager.confirm('提示''你确定要删除这条信息吗?'function (r) {  
  10.             if (r) {  
  11.                 $('#fm').form('submit', {  
  12.                     url: 'SetAdmin.ashx/ProcessRequest?AdminID=' + row.AdminID + "&test=" + test,  
  13.                     onSubmit: function () {  
  14.                         //return $(this).form('validate');  
  15.                     },  
  16.                     success: function (result) {  
  17.                         if (result.indexOf("T") == 0) {  
  18.                             $('#dlg').dialog('close');  
  19.                             $('#tt').datagrid('clearSelections'); //清空选中的行  
  20.                             $.messager.alert("提示""恭喜您,信息删除成功!""info");  
  21.                             //alert('恭喜您,信息删除成功!')  
  22.                             // close the dialog  
  23.                             $('#tt').datagrid('reload');  
  24.                             $('#fm').form('submit');  
  25.   
  26.                         }  
  27.                         else {  
  28.                             $.messager.alert("提示""添加失败,请重新操作!""info");  
  29.                             //alert('添加失败,请重新操作!')  
  30.                             return;  
  31.                             //$('#fm').form('submit');  
  32.                         }  
  33.   
  34.                     }  
  35.   
  36.                 });  
  37.             }  
  38.         })  
  39.     }  
  40. }  

阅读全文
0 0
原创粉丝点击