增删该查是不论什么一个项目都少不了的功能操作。这篇博文主要简单介绍一下怎样使用EasyUI实现加入和删除功能。

首先。导入EasyUI的js代码:

    <link href="~/EasyuiSource/themes/default/easyui.css" rel="stylesheet" />
<link href="~/EasyuiSource/themes/icon.css" rel="stylesheet" /> <script src="~/EasyuiSource/jquery-1.8.0.min.js"></script>
<script src="~/DiySource/jquery.unobtrusive-ajax.js"></script> <script src="~/EasyuiSource/jquery.easyui.min.js"></script>
<script src="~/EasyuiSource/easyui-lang-zh_CN.js"></script>
<script src="~/DiySource/datapattern.js"></script></strong></span>

接下来,由于加入须要弹出对话框,所以以下是对加入对话框的布局设置,这里使用了Ajax窗口,參数Add为该form提交到的Action方法。

        

    <div id="addDiv">
@using (Ajax.BeginForm("Add", new AjaxOptions() { OnSuccess = "afterAdd" }))
{
<table>
<tr>
<td>编号:</td>
<td>
@Html.TextBox("AdministratorID")
</td>
</tr>
<tr>
<td>password:</td>
<td>@Html.TextBox("AdminPassword")</td>
</tr>
<tr>
<td>真实姓名:</td>
<td>
@Html.TextBox("AdminName")
</td>
</tr>
</table>
} </div></strong></span>



然后就是对加入和删除动作的js方法操作:

        

       //显示弹出加入的对话框
function showAddFrm() {
$("#addDiv").css("display", "block");
$("#addDiv").dialog({
width: 400,
height: 300,
modal: true,
title: "加入用户信息",
collapsible: true,
minimizable: true,
maximizable: true,
resizable: true,
buttons: [{
id: 'btnAdd',
text: '加入',
iconCls: 'icon-add',
handler: function () {
//让表单提交
$("#addDiv form").submit();
}
}, {
id: 'btnCancelAdd',
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
$("#addDiv").dialog("close");
}
}]
});
} //加入成功之后运行的代码
function afterAdd(data) {
if (data == "ok") {
//关闭对话框,刷新表
$("#addDiv").dialog("close");
//initTable();
$('#tt').datagrid("reload");
} else {
$.messager.alert("提示消息", data);
}
} //删除用户数据
function doDelete() {
//把你选中的 数据查询出来。
var selectRows = $('#tt').datagrid("getSelections");
if (selectRows.length < 1) {
$.messager.alert("提示消息", "请选中要删的数据!");
return;
} //真删除数据
//提醒用户是否是真的删除数据
$.messager.confirm("确认消息", "您确定要删除信息吗?", function (r) {
if (r) {
//真删除了 1,3,4
var strIds = "";
for (var i = 0; i < selectRows.length; i++) {
strIds += selectRows[i].ID + ",";
}
strIds = strIds.substr(0, strIds.length - 1);
//alert(strIds);
$.post("/Administrator/DelBy", { ids: strIds }, function (data) {
if (data == "ok") {
//刷新表格。去掉选中状态的 那些行。 $('#tt').datagrid("reload");
$('#tt').datagrid("clearSelections");
} else {
$.messager.alert("删除失败~~", data);
}
});
}
}); }</strong></span>



    以下。是对表格的初始化相关的js操作。我们主要关心对加入和删除button的绑定。

       

<script type="text/javascript">

        $(function () {
initTable(); $("#addDiv").css("display", "none"); //隐藏加入对话框
bindSearcheClick(); }); //初始化表格
function initTable() {
//把搜素框里的内容提交到后台对数据进行过滤。
$('#tt').datagrid({
url: '/Administrator/QueryBy',
//title: '演示表格使用',
width: "100%",
//height: 1400,
fitColumns: true,
idField: 'ID',
loadMsg: '正在载入用户的信息...',
pagination: true,
singleSelect: false,
pageSize: 10,
pageNumber: 1,
pageList: [10, 20, 30],
queryParams: {
searchName: $("#searchName").val()
},
columns: [[
{ field: 'ck', checkbox: true, align: 'left', width: 50 },
{ field: 'ID', width: 50, hidden: true },
{ field: 'AdministratorID', title: '编号', width: 50 },
{ field: 'AdminPassword', title: 'password', width: 50 },
{ field: 'AdminName', title: '真实姓名', width: 50 },
]],
toolbar: [{
id: 'btnDownShelf',
text: '加入',
iconCls: 'icon-add',
handler: function () {//给加入button绑定事件
showAddFrm();
}
}, {
id: 'btnDelete',
text: '删除',
iconCls: 'icon-remove',
handler: function () {//改删除button绑定事件 doDelete();
}
}],
onHeaderContextMenu: function (e, field) { },
onLoadSuccess: function (data) {
$(".delUser").unbind("click");
$(".delUser").bind("click", function () {
alert($(this).attr("uid"));
return false;
}); $(".editUser").unbind("click");
$(".editUser").bind("click", function () {
//alert($(this).attr("uid"));
doEdit($(this).attr("uid"));
return false;
});
}
});
} </script></strong></span>

       

   
经过上面的绑定设置后。我们在点击加入button后。就会弹出加入对话框。将我们的表单提交到Controller中相应的Action中,由于加入对话框是post提交,所以要在相应的Action上加上[HttpPost]标签。

         

        //3.0加入
[HttpPost]
public ActionResult Add(YzAdministratorEntity admin)
{ try
{
admin.ID = Guid.NewGuid();
admin.isUsed = true;
admin.AdminLevel = "管理员";
adminBLL.Add(admin); return Content("ok");
}
catch (Exception ex)
{
//错误日志处理
return Content(ex.Message);
}
} //4.0批量删除
public ActionResult DelBy(string ids)
{
if (string.IsNullOrEmpty(ids))
{
return Content("请选中要删除的数据!");
} var adminIds = ids.Split(',');
Guid[] ass = new Guid[adminIds.Length];
for (int i = 0; i < adminIds.Length; i++)
{
ass[i] = new Guid(adminIds[i]);
} adminBLL.DelBy(a => ass.Contains(a.ID));
return Content("ok");
}</strong></span>



    这样,整个流程下来就实现了我们的加入和删除功能。

总结:

在使用EasyUI的过程中,有时候感觉代码和方法之间的调用关系有点凌乱,代码是对现实世界的逻辑抽象。它是准确的、明晰的、逻辑性强的,刚開始敲的时候总有种把控不了的感觉,总结下来主要有双方面原因。一是基础知识掌握的不够坚固。代码经验少;另一个就是没有从全局上考虑方法之间的调用关系。

通过编程,真的能使人的思维方式得到锻炼,仅仅有当思考的方式和代码的逻辑艺术融合到一起,才可以真实写出好的代码来。

使用EasyUI实现加入和删除功能的更多相关文章

  1. 实例:SSH结合Easyui实现Datagrid的批量删除功能

    在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...

  2. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

  3. react.js CMS 删除功能的实现

    页面效果图: 数据操作分析: 在查询表组件的  TableData.js 中操作如下内容: 给每一行绑定一个checkbox,且在点击这个 checkbox 时,触发 action 中的一个方法(fo ...

  4. php大力力 [042节] 今天做了一个删除功能

    php大力力 [042节] 今天做了一个删除功能 if(isset($_GET['action'])){ if($_GET['action']=="del"){ $sql = &q ...

  5. Java递归实现操作系统文件的复制、粘贴和删除功能

    通过Java IO递归实现操作系统对文件的复制.粘贴和删除功能,剪切=复制+粘贴+删除 代码示例: import java.io.BufferedInputStream; import java.io ...

  6. java 12-3 StringBuffer的添加和删除功能

    1. StringBuffer的添加功能: public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身 public ...

  7. tableView左滑删除功能

    实现三个代理方法即可 -(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtI ...

  8. ajax“显示弹窗详情”和“删除”功能练习

    1.查看详细信息,以弹窗的形式显示,使用ajax 2.批量删除 “查询”功能可以参考前面的文章,这里只讲解ajax“显示弹窗详情”和“删除”功能 第一:在body中的代码 <title>a ...

  9. ajax中网页传输(一)TEXT——带有删除功能的数据库表格显示练习

    网页之间传输的三种方式:TEXT.JSON.XML. 本章将讲解带有TEXT形势的ajax网页传输 第一:body部分代码 <title>ajax中TEXT讲解并且带有删除功能的表格< ...

随机推荐

  1. ReactNavtive框架教程(2)

    , alignItems: 'center' } }); 标准的 CSS 属性.尽管用CSS比在IB设置UI样式的可视化要差.但总比在viewDidLoad()方法中用代码写要好一些. 然后增加下面代 ...

  2. Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式

    在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...

  3. hdu2457 Trie图+dp

    hdu2457 给定n个模式串, 和一个文本串 问如果修改最少的字符串使得文本串不包含模式串, 输出最少的次数,如果不能修改成功,则输出-1 dp[i][j] 表示长度为i的字符串, 到达状态j(Tr ...

  4. django 带參数的 url

    url就像筋络一样把django这个大框架的各个部分紧紧的连接成一个总体,所以要了解django从url開始是一个不错的方向. 一般的view template url的关系这里就不讲了,以下会具体介 ...

  5. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释

    环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...

  6. Java乔晓松-android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug

    由于android获取图片过大是会出现内存溢出的Bug 07-02 05:10:13.792: E/AndroidRuntime(6016): java.lang.OutOfMemoryError 解 ...

  7. 基于最简单的FFmpeg采样读取内存读写:存储转

    ===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内 ...

  8. .Net程序猿乐Android发展---(1)环境结构

    对于没有接触Android人才发展,你可能会觉得Android更难以发展.接下来的一段时间,我们将了解Android开发的详细细节,主要是面对.NET程序猿,来看看.NET程序猿如何进行Android ...

  9. WinForm 国际化开发一例

    1.新建一个WinForm程序(在中文版的Windows下),如下,添加1个Button和1个Label 设置Form1的localizable属性为True(Form1的properties里的De ...

  10. 高质量c c++编程

    第1章 文件结构 每一个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.还有一个文件用于保存程序的实现(implementation),称为定义(de ...