Asp.Net+Oracle+EasyUI简单增删查改
2015-09-09 03:42
525 查看
[b]Asp.Net+Oracle+EasyUI简单增删查改[/b]
概要:网上有很多关于EasyUI前端框架的资料,本人在学习的基础上,基于自己之前搭建的框架(Oracle+Ado.Net),配合EasyUI实现一套简单的增删查改.
正文:
在实体层新建一个EMP.cs,继承至BaseModel
EmpList
其中构造表格数据(分页)的js代码如下:
增删改js代码如下:
后台一般处理程序代码如下:
本文仅用于学习;
END.
概要:网上有很多关于EasyUI前端框架的资料,本人在学习的基础上,基于自己之前搭建的框架(Oracle+Ado.Net),配合EasyUI实现一套简单的增删查改.
正文:
在实体层新建一个EMP.cs,继承至BaseModel
<body> <table id="tab"></table> <div id="tool"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td style=" padding-left:2px"> <a href="#" class="easyui-linkbutton" id="id_add" iconcls="icon-add" plain="true" onclick="add_dg();" >添加</a> <a href="#" class="easyui-linkbutton" id="id_edit" iconCls="icon-edit" plain="true" onclick="edit_dg();">修改</a> <a href="#" class="easyui-linkbutton" id="id_cancel " onclick="delete_dg();" iconcls="icon-cancel" plain="true">删除</a> </td> </tr> </table> </div> <br /> <div id="dd_dg" style=" display:none"> <form id="fm_dg"> <input type="hidden" id="id" name="id"/> EMPNO:<input type="text" id="EMPNO" name="EMPNO" class="easyui-validatebox" required="true" missingMessage="请输入EMPNO" /> <br /> ENAME:<input type="text" id="ENAME" name="ENAME" class="easyui-validatebox" required="true" missingMessage="请输入ENAME" /> <br /> JOB:<input type="text" id="JOB" name="JOB" class="easyui-validatebox" required="true" missingMessage="请输入JOB" /> <br /> MGR:<input type="text" id="MGR" name="MGR" class="easyui-validatebox" required="true" missingMessage="请输入MGR" /> <br /> HIREDATE:<input type="text" id="HIREDATE" name="HIREDATE" class="easyui-validatebox" required="true" missingMessage="请输入HIREDATE" /> <br /> SAL:<input type="text" id="SAL" name="SAL" class="easyui-validatebox" required="true" missingMessage="请输入SAL" /> <br /> COMM:<input type="text" id="COMM" name="COMM" class="easyui-validatebox" required="true" missingMessage="请输入COMM" /> <br /> DEPTNO:<input type="text" id="DEPTNO" name="DEPTNO" class="easyui-validatebox" required="true" missingMessage="请输入DEPTNO" /> <br /> </form> </div> </body>
EmpList
其中构造表格数据(分页)的js代码如下:
<script type="text/javascript"> $(function () { $("#tab").datagrid({ width: 1000, //宽度 height: 600, //高度 singleSelect: true, //选中一行的设置 rownumbers: true, //行号 url: "/Ajax/EmpHandler.ashx", //请求路径 title: "EMP员工信息", //标题 iconCls: "icon-save", //图标 collapsible: true, //隐藏按钮 //冻结列 frozenColumns: [[{ field: "chk", "checkbox": true }]], //列 columns: [[ { field: "JSON_empno", title: "EMPNO", width: 80 }, { field: "JSON_ename", title: "ENAME", width: 100 }, { field: "JSON_job", title: "JOB", width: 100 }, { field: "JSON_mgr", title: "MGR", width: 100 }, { field: "JSON_hiredate", title: "HIREDATE", width: 150, formatter: formatterdate }, { field: "JSON_sal", title: "SAL", width: 100, styler: function (value, row, index) { var ival = parseInt(value); if (ival > 2000) { return 'background-color:#ffee00;color:red;'; } } }, { field: "JSON_comm", title: "COMM", width: 100 }, { field: "JSON_deptno", title: "DEPTNO", width: 100 } ]], //传输参数 queryParams: { "action": "query" }, pagination: true,//指示分页导航 toolbar: "#tool" }); $("#tab").datagrid('getPager').pagination({ beforePageText: "第", afterPageText: "页", displayMsg: "当前 {from} - {to}条数据 共{total} 条数据", pageSize: 10, pageList: [5, 10, 15, 20, 30] }); }) </script>
增删改js代码如下:
// easyui datagrid dateFormatter function formatterdate(val, row) { if (val != null) { var date = new Date(val); return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); } } function delete_dg() { var selected = $("#tab").datagrid('getSelected'); if (selected != null) { $.messager.confirm('提示', '是否确定要删除?', function (yes) { if (yes) { var ids = ""; var checked = $("#tab").datagrid('getChecked'); $.each(checked, function (i, row) { ids += row.JSON_empno + ","; }) ids = ids.substring(0, ids.length - 1); $.post("/Ajax/EmpHandler.ashx", { "action": "del", id: ids }, function (data) { $.messager.alert('提示', data); $("#tab").datagrid('reload'); }); } }) } else { $.messager.alert('提示', '您还没有选中一行数,请选中在删除!'); } } function add_dg() { //表单清空 $("#fm_dg")[0].reset(); //显示 $("#dd_dg").show(); //以窗体的形式展示 $("#dd_dg").dialog({ title: "添加EMP信息",//标题 iconCls: "icon-add",//图标 width: 600,//窗体的宽度 height: 400,//窗体的高度 modal: true, //遮罩层 //按钮集合 buttons: [ { text: "添加",//添加按钮的文本值 iconCls: "icon-ok", //添加按钮的图标 handler: function () { //将数据序列化 var parm = $("#fm_dg").serialize(); //中文格式转换 var pp = decodeURIComponent(parm, true); //post异步提交 $.post("/Ajax/EmpHandler.ashx", { "action": "add", data: pp }, function (data) { $.messager.alert('提示', data); //重新加载datagrid $("#tab").datagrid('reload'); //关闭 $("#dd_dg").window('close'); }); } }, { text: "取消", iconCls: "icon-cancel", handler: function () { $("#dd_dg").window("close"); } } ] }); } function edit_dg() { //选中一行,获取这一行的属性的值 var selected = $("#tab").datagrid('getSelected'); //判断是否选中 if (selected != null) { //$("#id").val(selected.JSON_id); $("#id").val(selected.JSON_empno); $("#EMPNO").val(selected.JSON_empno); $("#ENAME").val(selected.JSON_ename); $("#JOB").val(selected.JSON_job); $("#MGR").val(selected.JSON_mgr); $("#HIREDATE").val(selected.JSON_hiredate); $("#SAL").val(selected.JSON_sal); $("#COMM").val(selected.JSON_comm); $("#DEPTNO").val(selected.JSON_deptno); //取值显示性别 //if (selected.JSON_sex == "男") { // $("#sex option").eq(0).attr("selected", "selected"); //} else { // $("#sex option").eq(1).attr("selected", "selected"); //} $("#dd_dg").show(); //显示修改窗体 $("#dd_dg").dialog({ title: "编辑信息", iconCls: "icon-edit", modal: true,//遮罩层 width: 600, height: 400, buttons: [ { text: "编辑", iconCls: "icon-edit", handler: function () { var parm = $("#fm_dg").serialize(); var pp = decodeURIComponent(parm, true); $.post("/Ajax/EmpHandler.ashx", { "action": "edit", data: pp }, function (data) { $.messager.show({ title: "提示", msg: data }); $("#tab").datagrid("reload"); $("#dd_dg").window("close"); }); } }, { text: "取消", iconCls: "icon-cancel", handler: function () { $("#dd_dg").window('close'); } } ] }); } else { $.messager.alert('提示', '请选中一行在进行编辑'); } }
后台一般处理程序代码如下:
namespace myOracle.UI.Ajax { using Bll; using System.Data; using System.Text; using Utility; using Model; /// <summary> /// EmpHandler 的摘要说明 /// </summary> public class EmpHandler : IHttpHandler { EmpBll bll = new EmpBll(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request["action"]; switch (action) { case "query": Query(); break; case "del": Del(); break; case "add": Add(); break; case "edit": Edit(); break; } } private void Edit() { StringBuilder sb = new StringBuilder(); //遍历获取传递过来的字符串 foreach (string s in HttpContext.Current.Request.Form.AllKeys) { sb.AppendFormat("{0}:{1}\n", s, HttpContext.Current.Request.Form[s]); } string ss = sb.ToString(); string[] str = ss.Split('&'); string id = str[0].Split('=')[1];//表单的隐藏域id string empno = str[1].Split('=')[1]; string ename = str[2].Split('=')[1]; string job = str[3].Split('=')[1]; //string sex = str[3].Split('=')[1] == "1" ? "男" : "女"; int mgr = int.Parse(str[4].Split('=')[1]); string hiredate = str[5].Split('=')[1]; if(hiredate.IndexOf('+')!=-1) { string[] hd=hiredate.Split('='); hiredate = hd[0]; } int sal = int.Parse(str[6].Split('=')[1]); int comm = int.Parse(str[7].Split('=')[1]); int deptno = int.Parse(str[8].Split('=')[1]); Emp model = new Emp() { EmpNo = int.Parse(id), EName = ename, Job = job, Mgr = mgr, Hiredate = Convert.ToDateTime(hiredate), Sal = sal, Comm = comm, DeptNo = deptno }; bll.Update(model); HttpContext.Current.Response.Write("修改成功!"); } private void Add() { StringBuilder sb = new StringBuilder(); //遍历获取传递过来的字符串 foreach (string s in HttpContext.Current.Request.Form.AllKeys) { sb.AppendFormat("{0}:{1}\n", s, HttpContext.Current.Request.Form[s]); } string ss = sb.ToString(); string[] str = ss.Split('&'); string id = str[0].Split('=')[1];//表单的隐藏域id string empno = str[1].Split('=')[1]; string ename = str[2].Split('=')[1]; string job = str[3].Split('=')[1]; //string sex = str[3].Split('=')[1] == "1" ? "男" : "女"; int mgr = int.Parse(str[4].Split('=')[1]); string hiredate = str[5].Split('=')[1]; int sal = int.Parse(str[6].Split('=')[1]); int comm = int.Parse(str[7].Split('=')[1]); int deptno = int.Parse(str[8].Split('=')[1]); Emp model = new Emp() { EmpNo = int.Parse(empno), EName = ename, Job = job, Mgr = mgr, Hiredate = Convert.ToDateTime(hiredate), Sal = sal, Comm = comm, DeptNo = deptno }; bll.Add(model); HttpContext.Current.Response.Write("添加成功!"); } private void Del() { //获取到选中行的id string id = HttpContext.Current.Request["id"]; int count = 0; count = bll.DeleteList(id); if (count > 0) { HttpContext.Current.Response.Write("共删除了" + count + "条数据"); } else { HttpContext.Current.Response.Write("error"); } } private void Query() { //一页显示几行数据 string pageSize = HttpContext.Current.Request["rows"]; //当前页 string pageIndex = HttpContext.Current.Request["page"]; DataTable dt = DbHelper.GetDataTableFromIDataReader(bll.GetDataReaderByPage("", int.Parse(pageSize), int.Parse(pageIndex))); int totalCount=bll.GetCount(null); string JsonStr=JSonHelper.CreateJsonParameters(dt, true,totalCount); HttpContext.Current.Response.Write(JsonStr); } public bool IsReusable { get { return false; } } } }
本文仅用于学习;
END.
相关文章推荐
- Oracle_启动报ora-27100:shared memory realm already exists
- Oracle基础之Dual
- 五、oracle 表的管理
- 四、oracle 用户管理二
- 三、oracle 用户管理一
- 二、oracle sql*plus常用命令
- Oracle解锁的相关操作(转)
- 断电!!!oracle oracle initialization or shutdown
- oracle排序使用,很多中函数,不同的效果
- ORACLE 函数(lpad,add_months,COALESCE,GREATEST,LEAST)
- Oracle学习笔记20150908权限与角色的管理
- oracle由易到难源代码二
- oracle误删数据恢复
- oracle使用pfile或者spfile启动
- Oracle怎么查外键建在哪个表上
- Oracle中substr截取字符串并用INSTR范围匹配字符串位置截取
- 忘记Oracle密码怎么办
- oracle 分析函数
- ORACLE客户端动态库使用问题
- Oracle怎创建自增