C# 配合 Easyui DataGrid 实现增删改查 通用模板

前端代码:

  <div id="dlg" class="easyui-dialog" closed="true">
        <form id="fm" method="post">
            <table style="width:100%;">
                <tr><td>标题:</td><td><input name="title" class="easyui-validatebox" required="true" /> </td><td>&nbsp;</td></tr>
                <tr><td>关键词:</td><td><input name="keywords" class="easyui-validatebox" required="true" /> </td><td>&nbsp;</td></tr>
                <tr><td>描述:</td><td><input name="description" class="easyui-validatebox" required="true" /> </td><td>&nbsp;</td></tr>
            </table>
        </form>
            <div id="dlg-buttons">
                <a href="javascript:void(0)" class="easyui-linkbutton"  id="btnSave" iconcls="icon-save">保存</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" onclick="javascript:$(‘#dlg‘).dialog(‘close‘)" iconcls="icon-cancel">取消</a>
            </div>
    </div>
    <table id="dg" ></table>
    <script>
        $(‘#dg‘).datagrid({
            title: ‘网站文章列表‘,
            iconCls: ‘icon-edit‘,//图标
            width: 700,
            height: ‘auto‘,
            nowrap: false,
            striped: true,
            border: true,
            collapsible: false,//是否可折叠的
            fit: true,//自动大小
            url: ‘DataGrid.ashx‘,
            //sortName: ‘id‘,
            //sortOrder: ‘desc‘,
            remoteSort: false,
            idField: ‘fldId‘,
            singleSelect: false,//是否单选
            pagination: true,//分页控件
            rownumbers: true,//行号
            frozenColumns: [[
              { field: ‘ck‘, checkbox: true }
            ]],
            //-----------------------------------------------
            toolbar: [{
                text: ‘添加‘,
                iconCls: ‘icon-add‘,
                handler: function () {
                     Add();
                }
            }, ‘-‘, {
                text: ‘修改‘,
                iconCls: ‘icon-edit‘,
                handler: function () {
                    Edit();
                }
            }, ‘-‘, {
                text: ‘删除‘,
                iconCls: ‘icon-remove‘,
                handler: function () {
                    Delete();
                }
            }],
            //------------------------------------------------------
            columns: [[
            { field: ‘id‘, title: ‘编号‘, width: 100 },
            {field:‘title‘,title:‘标题‘},
            {field:‘keywords‘,title:‘关键词‘},
            {field:‘description‘,title:‘描述‘,align:‘left‘}
           ]]
        });

        //设置分页控件
        var p = $(‘#dg‘).datagrid(‘getPager‘);
        $(p).pagination({
            pageSize: 10,//每页显示的记录条数,默认为10
            pageList: [5, 10, 15],//可以设置每页记录条数的列表
            beforePageText: ‘第‘,//页数文本框前显示的汉字
            afterPageText: ‘页    共 {pages} 页‘,
            displayMsg: ‘当前显示 {from} - {to} 条记录   共 {total} 条记录‘,
            /*onBeforeRefresh:function(){
                $(this).pagination(‘loading‘);
                alert(‘before refresh‘);
                $(this).pagination(‘loaded‘);
            }*/
        });

        //增加
        function Add()
        {
            $("#dlg").dialog("open").dialog(‘setTitle‘, ‘增加新文章‘);
            $("#fm").form("clear");
            $("#btnSave").click(AddSubmit);//绑定保存按钮的事件
        }
        //修改
        function Edit()
        {
            var row = $("#dg").datagrid("getSelected");
            if (row) {
                $("#dlg").dialog("open").dialog(‘setTitle‘, ‘修改文章‘);
                $("#fm").form("load", row);
            }
        }

        function AddSubmit()
        {
            $("#fm").form("submit", {
                url: "DataGrid.ashx?action=add",
                onsubmit: function () {
                    return $(this).form("validate");
                },
                success: function (result) {
                    if (result == "1") {
                        $.messager.alert("提示信息", "操作成功");
                        $("#dlg").dialog("close");
                        $("#dg").datagrid("load");
                    }
                    else {
                        $.messager.alert("提示信息", "操作失败");
                    }
                }
            });
        }
        //删除
        function Delete()
        {
            var row = $(‘#dg‘).datagrid(‘getSelected‘);
            if (row) {
                $.messager.confirm(‘Confirm‘, ‘确定要删除这条记录吗?‘, function (r) {
                    if (r) {
                        $.post(‘DataGrid.ashx‘, { action:‘delete‘, id: row.id }, function (result) {
                            if (result) {
                                $(‘#dg‘).datagrid(‘reload‘).datagrid(‘unselectAll‘);    // 重新加载数据
                            } else {
                                $.messager.show({   // 出错提示
                                    title: ‘Error‘,
                                    msg: result.errorMsg
                                });
                            }
                        }, ‘json‘);
                    }
                });
            }
        }
    </script>

后端代码:

namespace EasyuiStudy
{
    /// <summary>
    /// DataGrid 的摘要说明
    /// </summary>
    public class DataGrid : IHttpHandler
    {
        private string connstring = "";

        public void ProcessRequest(HttpContext context)
        {
            string title = context.Request["title"];
            string action = context.Request["action"];
            switch (action)
            {
                case "add": add(context);
                             break;

                case "delete": delete(context);
                              break;

                default:query(context);
                              break;

            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

        //分页查询
        private void query(HttpContext context)
        {

            string rows = context.Request["rows"];
            string page = context.Request["page"];
            int intRowCount = 10;
            int intPageIndex = 1;
            if (rows != null && rows != "0")
            {
                intRowCount = Convert.ToInt32(rows);
            }
            if (page != null && page != "0")
            {
                intPageIndex = Convert.ToInt32(page);
            }

            context.Response.ContentType = "text/plain";
            context.Response.Write(MyQuery(intPageIndex, intRowCount));

        }
        //增加
        private void add(HttpContext context)
        {
            string title = context.Request["title"];
            string keywords = context.Request["keywords"];
            string description = context.Request["description"];

            MySqlHelper mysqldb = new MySqlHelper(connstring);
            string sql = string.Format("insert into `hdm1140428_db`.`v9_news` (title,keywords,description) values(‘{0}‘,‘{1}‘,‘{2}‘)",title,keywords,description);
            int i=mysqldb.ExecuteNonQuery(sql);

            context.Response.ContentType = "text/plain";
            context.Response.Write(i.ToString());
        }

        //删除一条记录
        private void delete(HttpContext context)
        {
            string id = context.Request["id"];

            MySqlHelper mysqldb = new MySqlHelper(connstring);
            string sql = string.Format("delete from `hdm1140428_db`.`v9_news` where id={0}",id);
            int i = mysqldb.ExecuteNonQuery(sql);

            context.Response.ContentType = "text/plain";
            context.Response.Write(i.ToString());
        }

        private string MyQuery(int PageIndex,int RowCount)
        {
            MySqlHelper mysqldb = new MySqlHelper(connstring);
            //获得总记录数
            string sql = "select Count(*) total from `hdm1140428_db`.`v9_news`";
            DataTable dt=mysqldb.ExecuteDataTable(sql);
            int total = Convert.ToInt32(dt.Rows[0].ItemArray[0].ToString()) ;
            sql = string.Format("select *     FROM `hdm1140428_db`.`v9_news` order by id desc  limit {0},{1} ", (PageIndex - 1) * RowCount, RowCount);
            dt = mysqldb.ExecuteDataTable(sql);
            string json=EasyuiDataGrid.DataTable2Json(dt,total);
            return json;

        }

    }
}

DataTable转成DataGrid能够识别的json:

 public class EasyuiDataGrid
    {
        #region dataTable转换成Json格式
        /// <summary>
        /// dataTable转换成Json格式
        /// </summary>
        /// <paramname="dt"></param>
        ///<returns></returns>
        public static string DataTable2Json(DataTable dt,int total=-1)
        {
            StringBuilder jsonBuilder = new StringBuilder();
            jsonBuilder.Append("{\"total\":");
            if (total == -1)
            {
                jsonBuilder.Append(dt.Rows.Count);
            }
            else
            {
                jsonBuilder.Append(total);
            }
            jsonBuilder.Append(",\"rows\":[");

            for (int i = 0; i <dt.Rows.Count; i++)
            {
               jsonBuilder.Append("{");
                for (int j = 0; j <dt.Columns.Count; j++)
                {
                   jsonBuilder.Append("\"");
                   jsonBuilder.Append(dt.Columns[j].ColumnName);
                   jsonBuilder.Append("\":\"");
                   jsonBuilder.Append(dt.Rows[i][j].ToString());
                   jsonBuilder.Append("\",");
                }
                if (dt.Columns.Count > 0)
                {
                   jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                }
               jsonBuilder.Append("},");
            }
            if (dt.Rows.Count > 0)
            {
               jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            }
            jsonBuilder.Append("]}");
            return jsonBuilder.ToString();
        }
        #endregion dataTable转换成Json格式
    }
时间: 2025-01-05 18:16:09

C# 配合 Easyui DataGrid 实现增删改查 通用模板的相关文章

easyui datagrid java增删改查 动态补全

猛击-->   easyui datagrid 增删改查 动态补全 easyui datagrid java增删改查 动态补全,布布扣,bubuko.com

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了  数据库--MySQL-->Java篇 接下来我给大家讲讲如何将

easyui+nodejs+sqlserver增删改查实现

用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/documentation/index.php# express-session:https://www.npmjs.com/package/express-session#resave node-mssql: http://csdoc.org/ Redis: http://redis.io/ art

CodeSmith生成的增删改查方法模板源码分享

我是个懒人,喜欢用最少的精力去做更多的事.每每做项目和写一些demo的时候,增删改查都少不了,这些功能写多了就觉得太浪费精力时间,所以就写了个模板,让自己从重复的代码中解放出来. 个人不太会构架,所以模板就是生成一个三层架构,有dal.bll.和model层的项目.对应的数据库是SQL Server 下载链接:https://github.com/lzjluoze/-CodeSmith-/tree/master/NetCms-v1.0 生成演示: 说明:

easyui表格的增删改查

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <!-- 1.JQuery的js包 --> <script type="text/javascript" src="jquery-easyui-1.4.4/jquery.min.js"&g

[jQuery EasyUI系列] 创建增删改查应用

一.数据收集并妥善管理数据是网络应用共同的必要.CRUD允许我们生产页面列表并编辑数据库记录. 本文主要演示如何使用jQuery EasyUI实现CRUD DataGrid. 将使用到的插件有: datagrid:向用户展示列表数据 dialog:创建并编辑一条单一的数据 form:用于提交表单数据 messager:显示一些操作信息 二.操作步骤 1.准备数据库并创建实例数据 2.创建DataGrid来显示用户信息 创建没有JavaScript代码的DataGrid 1 <table id=&qu

maven+springMVC+mybatis+easyUI管理用户增删改查

1.项目演示图 2.项目简介 项目分为两个工程domain和manager,工程结构如下图所示,其中domain是Maven java工程主要完成对数据库的操作,manager是Maven Web工程,完成web访问,manager依赖于domain 3.项目源码下载地址

MyBatis增删改查模板

1. 首先,和Spring整合一下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springfra

BootstrapTable+KnockoutJS实现增删改查解决方案

BootstrapTable+KnockoutJS实现增删改查解决方案 前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一个什么工具直接生成页面效果,啥代码都不用写了,那该多爽.于是研究了下T4的语法,虽然没有完全掌握,但是算是有了一个大致的了解.于是乎有了今天的这篇文章:通过T4模板快速生成页面. KnockoutJS系列文章: JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(