easyui datagrid 弹窗添加修改删除
本章博客我将带你实现,在前一篇的基础上,新增实现弹框式添加数据到数据库的功能。(接下来的博客将会推出,修改,删除数据功能)
效果图,4-1:
所谓弹窗式,就像图4-1的那样,弹出一个窗口,用户输入信息然后新增到数据库,
前台HTML如下:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Add.aspx.cs" Inherits="web._20160522.Add" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <style type="text/css">
- #fm{
- margin:0;
- padding:10px 30px;
- }
- .ftitle{
- font-size:14px;
- font-weight:bold;
- padding:5px 0;
- margin-bottom:10px;
- border-bottom:1px solid #ccc;
- }
- .fitem{
- margin-bottom:5px;
- }
- .fitem label{
- display:inline-block;
- width:80px;
- }
- .fitem input{
- width:160px;
- }
- </style>
- <script src="../js/jquery-1.7.1.min.js"></script>
- <script src="../EasyUI/jquery.min.js"></script>
- <script src="../EasyUI/jquery.easyui.min.js"></script>
- <link href="../EasyUI/themes/icon.css" rel="stylesheet" />
- <script src="../EasyUI/locale/easyui-lang-zh_CN.js"></script>
- <link href="../EasyUI/themes/default/easyui.css" rel="stylesheet" />
- <script src="../js/add.js"></script>
- </head>
- <body>
- <table id="tb1"></table>
- <div id="tb" style="padding:5px">
- <div style="margin-bottom:5px">
- <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-reload" plain="true" onclick="reload()">刷新</a>
- <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newEqument()">添加</a>
- <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editEqument()">修改</a>
- <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyEqument()">删除</a>
- </div>
- <div>
- 查询设备:<input id="eq" type="text" name="Eq" style="width:150px"/>
- <select id="order" class="easyui-combobox" panelHeight="auto" style="width:100px">
- <option value="asc">升序</option>
- <option value="desc">降序</option>
- </select>
- <a href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="obj.search()">查询</a>
- </div>
- </div>
- <%-- 弹窗 Start--%>
- <div id="dlg" class="easyui-dialog" style="width:400px;height:320px;padding:10px 20px"
- closed="true" buttons="#dlg-buttons">
- <div class="ftitle">设备信息</div>
- <form id="fm" method="post" novalidate>
- <div class="fitem">
- <label>设备编号:</label>
- <input id="Eq_Number" class="easyui-textbox" required="true">
- </div>
- <div class="fitem">
- <label>出厂号:</label>
- <input id="Eq_SN" class="easyui-textbox" required="true">
- </div>
- <div class="fitem">
- <label>名称:</label>
- <input id="Eq_Name" class="easyui-textbox" required="true">
- </div>
- <div class="fitem">
- <label>型号:</label>
- <input id="Eq_Type" class="easyui-textbox" required="true">
- </div>
- <div class="fitem">
- <label>规格:</label>
- <input id="Eq_Standard" class="easyui-textbox" required="true">
- </div>
- <div class="fitem">
- <label>厂家:</label>
- <input id="Eq_Producer" class="easyui-textbox" required="true">
- </div>
- </form>
- </div>
- <div id="dlg-buttons">
- <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveEqument()" style="width:90px">Save</a>
- <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">Cancel</a>
- </div>
- <%-- 弹窗 End --%>
- </body>
- </html>
由于js代码比较多,所以我封装到了add.js的文件
js代码如下:
- $(function () {
- $('#tb1').datagrid({
- url: '../20160521/EasyUI_load.ashx',
- width: 1100,
- title: '设备管理',
- method: 'get',
- toolbar: '#tb',
- columns: [[
- { field: 'numID', title: '设备编号', width: 150 },
- { field: '出厂号', title: '出厂号', width: 150 },
- { field: '仪器名称', title: '名称', width: 150},
- { field: '型号', title: '型号', width: 200 },
- { field: '规格', title: '规格', width: 150 },
- { field: '厂家', title: '厂家', width: 200 },
- { field: '单价', title: '价格', width: 100}
- ]],
- pagination: true,
- pageSize:10,
- pageList: [10, 15, 20, 25],
- })
- })
- $(function () {
- obj = {
- search: function () {
- $('#tb1').datagrid('load', {
- Equement: $('input[name="Eq"]').val(),
- order: $("#order").combobox('getValue')
- });
- }
- }
- })
- function reload() {
- document.getElementById("eq").value = ""
- $('#tb1').datagrid('load', {
- url: '../20160521/easyui_load.ashx',
- page: '1',
- rows:'10'
- });
- }
- function newEqument() {
- $('#dlg').dialog('open').dialog('center').dialog('setTitle', 'New Equment');
- $('#fm').form('clear');
- }
- function saveEqument() {
- var Eq_Number = document.getElementById("Eq_Number").value;
- var Eq_SN = document.getElementById("Eq_SN").value;
- var Eq_Name = document.getElementById("Eq_Name").value;
- var Eq_Type = document.getElementById("Eq_Type").value;
- var Eq_Standard = document.getElementById("Eq_Standard").value;
- var Eq_Producer = document.getElementById("Eq_Producer").value;
- alert(Eq_Number);
- $('#fm').form('submit', {
- url: "../20160522/Add.ashx?Eq_Number=" + Eq_Number + "&Eq_SN=" + Eq_SN + "&Eq_Name=" + Eq_Name + "&Eq_Type=" + Eq_Type +
- "&Eq_Standard=" + Eq_Standard + "&Eq_Producer=" + Eq_Producer,
- onSubmit: function () {
- return $(this).form('validate');
- },
- success: function (result) {
- alert(result);
- if (result.indexOf("t") >0) {
- $('#dlg').dialog('close');
- $.messager.alert("提示", "恭喜您,信息添加成功", "info");
- $('#tb1').datagrid('reload');
- }
- else {
- $.messager.alert("提示", "添加失败,请重新操作!", "info");
- return;
- }
- }
- });
- }
一般处理程序,代码如下:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Script.Serialization;
- namespace web._20160522
- {
- /// <summary>
- /// Add1 的摘要说明
- /// </summary>
- public class Add1 : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- string msg;
- context.Response.ContentType = "text/plain";
- HelperClass.ToModel toModel = new HelperClass.ToModel()
- {
- Eq_Number = context.Request.QueryString["Eq_Number"].ToString().Trim(),
- Eq_SN = context.Request.QueryString["Eq_SN"].ToString().Trim(),
- Eq_Name = context.Request.QueryString["Eq_Name"].ToString().Trim(),
- Eq_Type = context.Request.QueryString["Eq_Type"].ToString().Trim(),
- Eq_Standard = context.Request.QueryString["Eq_Standard"].ToString().Trim(),
- Eq_Producer = context.Request.QueryString["Eq_Producer"].ToString().Trim()
- };
- HelperClass.SqlHelper addModel=new HelperClass.SqlHelper();
- if (addModel.Add(toModel) > 0)
- {
- msg = "['msg':'true']";
- context.Response.Write(msg);
- }
- else
- {
- msg = "['msg':'false']";
- context.Response.Write(msg);
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- }
实体类ToModel,代码如下:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- namespace web.HelperClass
- {
- public class ToModel
- {
- private string _Eq_Number;
- public string Eq_Number
- {
- get { return _Eq_Number; }
- set { _Eq_Number = value; }
- }
- private string _Eq_SN;
- public string Eq_SN
- {
- get { return _Eq_SN; }
- set { _Eq_SN = value; }
- }
- private string _Eq_Name;
- public string Eq_Name
- {
- get { return _Eq_Name; }
- set { _Eq_Name = value; }
- }
- private string _Eq_Type;
- public string Eq_Type
- {
- get { return _Eq_Type; }
- set { _Eq_Type = value; }
- }
- private string _Eq_Standard;
- public string Eq_Standard
- {
- get { return _Eq_Standard; }
- set { _Eq_Standard = value; }
- }
- private string _Eq_Producer;
- public string Eq_Producer
- {
- get { return _Eq_Producer; }
- set { _Eq_Producer = value; }
- }
- }
- }
参数化增加记录的方法(粘贴到SqlHelper类),代码如下:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Data;
- using System.Text;
- using System.Data.SqlClient;
- namespace web.HelperClass
- {
- public class SqlHelper
- {
- protected static readonly string conStr = @"Data Source=.;Database=db_equipment;uid=sa;pwd=123456";
- /// <summary>
- /// 增加一条数据
- /// </summary>
- public int Add(ToModel model)
- {
- StringBuilder strSql = new StringBuilder();
- strSql.Append("insert into tb_equipment(");
- strSql.Append("numID,出厂号,仪器名称,型号,规格,厂家)");
- strSql.Append(" values (");
- strSql.Append("@Eq_Number,@Eq_SN,@Eq_Name,@Eq_Type,@Eq_Standard,@Eq_Producer)");
- strSql.Append(";select @@IDENTITY");
- SqlParameter[] parameters = {
- new SqlParameter("@Eq_Number", SqlDbType.NVarChar,255),
- new SqlParameter("@Eq_SN", SqlDbType.NVarChar,255),
- new SqlParameter("@Eq_Name", SqlDbType.NVarChar,255),
- new SqlParameter("@Eq_Type", SqlDbType.NVarChar,255),
- new SqlParameter("@Eq_Standard ", SqlDbType.NVarChar,255),
- new SqlParameter("@Eq_Producer", SqlDbType.NVarChar,255)
- };
- parameters[0].Value = model.Eq_Number;
- parameters[1].Value = model.Eq_SN;
- parameters[2].Value = model.Eq_Name;
- parameters[3].Value = model.Eq_Type;
- parameters[4].Value = model.Eq_Standard;
- parameters[5].Value = model.Eq_Producer;
- object obj = GetSingle(strSql.ToString(), parameters);
- if (obj == null)
- {
- return 0;
- }
- else
- {
- return Convert.ToInt32(obj);
- }
- }
- /// <summary>
- /// 执行一条计算查询结果语句,返回查询结果(object)。
- /// </summary>
- /// <param name="SQLString">计算查询结果语句</param>
- /// <returns>查询结果(object)</returns>
- public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
- {
- using (SqlConnection connection = new SqlConnection(conStr))
- {
- using (SqlCommand cmd = new SqlCommand())
- {
- try
- {
- PrepareCommand(cmd, connection, null, SQLString, cmdParms);
- object obj = cmd.ExecuteScalar();
- cmd.Parameters.Clear();
- if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
- {
- return null;
- }
- else
- {
- return obj;
- }
- }
- catch (System.Data.SqlClient.SqlException e)
- {
- throw e;
- }
- }
- }
- }
- private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
- {
- if (conn.State != ConnectionState.Open)
- conn.Open();
- cmd.Connection = conn;
- cmd.CommandText = cmdText;
- if (trans != null)
- cmd.Transaction = trans;
- cmd.CommandType = CommandType.Text;//cmdType;
- if (cmdParms != null)
- {
- foreach (SqlParameter parameter in cmdParms)
- {
- if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
- (parameter.Value == null))
- {
- parameter.Value = DBNull.Value;
- }
- cmd.Parameters.Add(parameter);
- }
- }
- }
- }
- }
那么功能已经实现了,查询新增的设备,如图4-2:
在这里,也添加了刷新功能,实现原理很简单,就是重新提交两个参数,page:1,rows:10给查询功能的一般处理程序(03.手把手教你 .Net EasyUI DataGrid(带搜索功能的数据表格)),然后将搜索框设置为空,代码在add.js。
相关推荐
- Git系列教程(2):在 Git 中怎样克隆、修改、添加和删除文件?
- 用户名查询、手机号查询、选择城市、选择状态、选择月份、ID排序、添加数据、批量发货、批量删除、敏感字、修改数据)
- Qt连接mySQL之学生数据成绩查询系统(添加、删除、修改数据)
- MVC5 网站开发之六 管理员 2、添加、删除、重置密码、修改密码、列表浏览
- ThinkPHP3.2.3 数据添加add()方法 数据修改save()方法 在后台实现数据的添加、修改 删除信息delete() 执行原生sql语句 表单自动验证 create() 方法
- jQuery无刷新翻页,更改排序,同时带添加,修改,删除数据
- 任务调度开源框架石英动态添加,修改和删除定时任务
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)...
- 在一页内无刷新更新数据,包括添加,删除,修改数据,更新状态 点击表头排序
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)
- 完全无向图、二叉树、哈弗曼编码、http和https的区别、dom操作中创建|添加|移除|移动|复制|查找节点
- angular的安装