EasyUI-datagrid数据展示+MongoDB数据操作

时间:2022-08-31 20:31:49

使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB.

一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs.com/heyangyi/p/5703904.html

 @{
     Layout = null;
 }

 <!DOCTYPE html>

 <html>
 <head>
     <meta name="viewport" content="width=device-width" />
     <title>Index</title>
     <script src="~/Content/Scripts/jquery-1.10.2.js"></script>
 </head>
 <body>
     @*展示区域*@
     <div style="margin-left:4px;">
         <table id="dg_Siteinfo" title="站点管理" class="easyui-datagrid"
                url="SiteInfo/DataSiteInfo"
                toolbar="#toolbar_Siteinfo"
                pagination="true"
                idfield="_id"
                rownumbers="true"
                fitcolumns="true"
                singleselect="fales">
             <thead>
                 <tr>
                     <th field="ck" checkbox="true"></th>
                     <th field=">站点ID</th>
                     <th field=">站点名称</th>
                     <th field=">站点域名</th>
                     <th field=">站点描述</th>
                     <th field=">添加时间</th>
                 </tr>
             </thead>
         </table>
         <div id="toolbar_Siteinfo">
             <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-add" plain="true" onclick="newUser()">添加站点</a>
             <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-edit" plain="true" onclick="editUser()">编辑站点</a>
             <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-remove" plain="true" onclick="destroyUser()">删除站点</a>
         </div>
     </div>

     @*添加面板*@
     <div id="dlg_Siteinfo" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px" closed="true" buttons="#dlg-buttons">
         <div class="ftitle">Site Information</div>
         <form id="fm_Siteinfo" method="post">
             <div class="fitem">
                 <label>站点名称:</label>
                 <input name="SiteNam" class="easyui-textbox" required="true">
             </div>
             <div class="fitem">
                 <label>站点域名:</label>
                 <input name="SiteDomainName" class="easyui-textbox" required="true">
             </div>
             <div class="fitem">
                 <label>站点描述:</label>
                 <input name="SiteDescription" class="easyui-textbox">
             </div>
         </form>
     </div>

     <div id="dlg-buttons">
         <a href="javascript:void(0)" class="easyui-linkbutton c6" iconcls="icon-ok" onclick="saveUser()" style="width:90px">Save</a>
         <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" onclick="javascript: $('#dlg_Siteinfo').dialog('close')" style="width:90px">Cancel</a>
     </div>

     <script type="text/javascript">
         var url;
         function newUser() {
             $('#dlg_Siteinfo').dialog('open').dialog('center').dialog('setTitle', '添加站点');
             $('#fm_Siteinfo').form('clear');
             url = 'SiteInfo/Insert';//添加地址
         }
         function editUser() {
             var row = $('#dg_Siteinfo').datagrid('getSelected'); //编辑ID
             if (row) {
                 $('#dlg_Siteinfo').dialog('open').dialog('center').dialog('setTitle', '编辑站点'); //
                 $('#fm_Siteinfo').form('load', row);   //将选中行的数据填充进去
                 url = 'SiteInfo/Update?_id=' + row._id; //编辑地址
             } else {
                 topCenter()
             }
         }
         function saveUser() {
             $('#fm_Siteinfo').form('submit', {
                 url: url,
                 onSubmit: function () {
                     return $(this).form('validate');
                 },
                 success: function (result) {
                     var result = eval('(' + result + ')');
                     //alert(result);
                     if (result.success) {
                         topCenter(result.msg, );
                         $('#dlg_Siteinfo').dialog('close');           // close the dialog
                         $('#dg_Siteinfo').datagrid('reload');         // reload the user dat
                     } else {
                         topCenter(result.msg, );
                     }
                 }
             });
         }
         function destroyUser() {
             var ids = [];
             var rows = $('#dg_Siteinfo').datagrid('getSelections');
             ) {
                 $.messager.confirm('提示', '确定删除选中这些数据吗?', function (r) {
                     if (r) {
                         ; i < rows.length; i++) {
                             ids.push(rows[i]._id);
                         }
                        // alert(ids.join(','));
                         $.ajax({
                             url: "SiteInfo/Delete",
                             type: "post",
                             data: {
                                 _ids: ids.join(',')
                             },
                             success: function (result) {
                                 if (result.success) {
                                     topCenter(result.msg, );
                                     $('#dg_Siteinfo').datagrid('reload');           // reload the user dat
                                     $('#dg_Siteinfo').datagrid('clearSelections');  //取消选择行
                                 } else {
                                     topCenter(result.msg, );
                                 }
                             }
                         });
                     }
                 });
             } ) };
         }
     </script>
 </body>
 </html>

新增以下类:使用MongoDB进行数据存储,MongoDB.NET 操作参考:

    public interface IDateFactory
    {
        object GetInsert(RequestContext request);

        object GetSelect(RequestContext request);

        object GetUpdate(RequestContext request);

        object GetDelete(RequestContext request);
    }
    public class MongoLink
    {
        public MongoDbHelper mh { get; set; }

        public MongoLink()
        {
            try
            {
                string MongoDBHost= ConfigurationManager.AppSettings["MongoDBHost"];//MongoDB所在IP地址
                string MongoDBPort=ConfigurationManager.AppSettings["MongoDBPort"]; //MongoDB端口
                string MongoDBTimeOut=ConfigurationManager.AppSettings["MongoDBTimeOut"];//请求超时时间
                mh = new MongoDbHelper(MongoDBHost, MongoDBPort, MongoDBTimeOut);
            }
            catch (Exception ex)
            {
                mh = ");
            }
        }
    }
    public class Site :MongoLink, IDateFactory
    {
        public Site() : base() { }

        public object GetInsert(RequestContext request)
        {
            var Request = request.HttpContext.Request;
            try
            {
                string SiteNam = Request["SiteNam"];
                string SiteDomainName = Request["SiteDomainName"];
                string SiteDescription = Request["SiteDescription"];
                DateTime dt = DateTime.Now.ToLocalTime();
                bool result= this.mh.Insert<tbSite>(new tbSite() {
                    _id = Guid.NewGuid().ToString(),
                    CreateTime = dt ,
                    CreateUserID="a",
                    SiteDescription = SiteDescription,
                    SiteDomainName = SiteDomainName,
                    SiteNam=SiteNam,
                    State=,
                    UpdateID="a",
                    UpdateTime=dt
                });
                if(result)
                    return new { success = true, msg = "添加成功" };
                else
                    return new { success = false, msg = "添加失败" };
            }
            catch (Exception ex)
            {
                return new { success = false, msg = "系统异常" };
            }
        }

        public object GetSelect(RequestContext request)
        {
            var Request = request.HttpContext.Request;
            try
            {
                var order = Request["order"];
                var page = Request["page"];
                var rows = Request["rows"];
                var sort = Request["sort"];
                "; } //1升序 -1降序
                if (sort == null) { sort = "CreateTime"; }
                ), int.Parse(page), int.Parse(rows), new SortByDocument(sort, int.Parse(order)))
                    .Select(x => new
                    {
                        SiteNam = x.SiteNam,
                        SiteDomainName = x.SiteDomainName,
                        SiteDescription = x.SiteDescription,
                        _id = x._id,
                        CreateTime = x.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
                    });
                ));
                var obj = new { total = total, rows = SiteList };
                return obj;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

        public object GetUpdate(RequestContext request)
        {
            var Request = request.HttpContext.Request;
            try
            {
                string _id = Request.QueryString["_id"];
                string SiteNam = Request["SiteNam"];
                string SiteDomainName = Request["SiteDomainName"];
                string SiteDescription = Request["SiteDescription"];
                DateTime dt = DateTime.Now.ToLocalTime();
                bool result = this.mh.Update<tbSite>(Query.EQ("_id", _id),
                    Update.Set("SiteNam", SiteNam).
                    Set("SiteDomainName", SiteDomainName).
                    Set("SiteDescription", SiteDescription).
                    Set("CreateUserID", "b").
                    Set("UpdateTime", dt)
                    , "tbSite");
                if (result)
                    return new { success = true, msg = "修改成功" };
                else
                    return new { success = false, msg = "修改失败" };
            }
            catch (Exception ex)
            {
                return new { success = false, msg = "系统异常" };
            }
        }

        public object GetDelete(RequestContext request)
        {
            var Request = request.HttpContext.Request;
            try
            {
                string[] _ids = Request["_ids"].Split(',');
                ; i < _ids.Length; i++)
                {
                    ), "tbSite");
                }
                 return new { success = true, msg = "删除成功" };
            }
            catch (Exception ex)
            {
                return new { success = false, msg = "删除失败" };
            }
        }
    }

二.添加效果:

EasyUI-datagrid数据展示+MongoDB数据操作
EasyUI-datagrid数据展示+MongoDB数据操作

三.修改效果:

EasyUI-datagrid数据展示+MongoDB数据操作
 
EasyUI-datagrid数据展示+MongoDB数据操作

四.删除效果

EasyUI-datagrid数据展示+MongoDB数据操作
EasyUI-datagrid数据展示+MongoDB数据操作

五.使用MongoSVG工具查看数据:

EasyUI-datagrid数据展示+MongoDB数据操作

EasyUI-datagrid数据展示+MongoDB数据操作的更多相关文章

  1. Jquery easyUI datagrid载入复杂JSON数据方法

    1.JSON数据为: {     "total":28, "rows": [     {       "itemNo": "1&q ...

  2. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  3. jquery easyui datagrid 远程加载数据----javascript法

    jquery easyui有三种办法生成datagrid(数据网格),本篇专门讨论javascript借助jquey easy ui实现的方式 html部分 <main role="m ...

  4. easyui datagrid行编辑中数据联动

    easyui的datagrid中行内编辑使用数据联动.即:当编辑产品编号时,该行的产品名称自动根据产品编号显示出来. 在编辑中获取当前行的索引 function getRowIndex(target) ...

  5. easyui datagrid 动态加载数据 渲染问题,表格错位问题

    $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {fie ...

  6. jquery easyui datagrid 远程加载数据----把主键渲染为值遇到的问题及解决方案

    起因:数据库中一些字段存的是代表具体值的数字,需要渲染为具体值 monggodb中的字典 mysql中存放的值为:expertin代表教练擅长的搏击技能 jquery easyui中的相关代码如下:用 ...

  7. easyui datagrid 后台返回所有数据,前台分页

    function pagerFilter(data) { if (typeof data.length == 'number' && typeof data.splice == 'fu ...

  8. Easyui datagrid 绑定本地Json数据

    var jsonstr = '{"total":1,"rows":[{"id":"M000005","name ...

  9. Java电商项目-6&period;实现门户首页数据展示&lowbar;Redis数据缓存

    目录 项目的Github地址 需求介绍 搭建Redis集群环境 下面先描述单机版redis的安装 下面将进行Redis3主3从集群环境搭建 基于SOA架构, 创建门户ashop-portal-web门 ...

随机推荐

  1. JAVA课程实验报告 实验五 Java网络编程及安全

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  2. C&num;开发体感游戏 Kinect应用知识

    Kinect首先是一个XBox 360外接体感设备,通过无线方式捕捉动作感知.由PrimeSense提供Range Camera技术,同类产品如任天堂Wii.Play Station Move,必须让 ...

  3. Codeforces 10C Digital Root 法冠军

    主题链接:点击打开链接 #include<stdio.h> #include<iostream> #include<string.h> #include<se ...

  4. 常用php时间函数用法汇总

    1.设置时区的方法: php5后都要自己设置时区,要么修改php.ini的设置,要么在代码里修改. 在PHP.INI中设置时区 date.timezone = PRC 在代码中设置时区 1 date_ ...

  5. vue-cli&colon; preset预设

    preset:预设 vue create demo01 过程中,会保存预设,自动保存着 .vuerc 文件中 .vuerc 文件的位置:C:\Users\Administrator C:\Users\ ...

  6. 【python小练】0002

    第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. . . .(一脸懵逼) Python访问数据库:(廖雪峰python教程) 1. SQLi ...

  7. 案例学python——案例二:连接数据库MySql

    调侃的话:案例一跑完之后,欣赏把玩了一番.人就有点飘飘然,昨天除了做饭吃饭,就是玩三国杀,江郎才尽,今天周一,不飘了,敲点代码,看看Python操作数据库有啥不一样的. 前期准备: 1.数据库 电脑上 ...

  8. elasticsearch学习笔记——相关插件和使用场景

    logstash-input-jdbc学习 ES(elasticsearch缩写)的一大优点就是开源,插件众多.所以扩展起来非常的方便,这也造成了它的生态系统越来越强大.这种开源分享的思想真是与天朝格 ...

  9. python-day9-数据类型总结

    数据类型总结: 常用:  数字 字符串 列表 元组 字典 不常用:集合 1.按照存值个数: 1个:数字,字符串 多个:列表,元组,字典,(集合) 2.按照可变不可变: 可变:列表,字典,(集合) 不可 ...

  10. 使用IDEA工具配置和运行vue项目(详细其中的坑)

    刚来公司实习发现公司的前端使用的是vue,之前根本就没有听说过.然后一上来就需要看代码,but but 就是没有文档什么的东西, 就需要自己去研读,我就想去运行其中的前端和后端联调起来方便理解,结果在 ...