您的位置:首页 > 数据库 > Oracle

Asp.Net+Oracle+EasyUI简单增删查改

2015-09-09 03:42 525 查看
[b]Asp.Net+Oracle+EasyUI简单增删查改[/b]

概要:网上有很多关于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.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: