EasyUI-datagrid数据展示+MongoDB数据操作
使用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 = "删除失败" }; } } }
二.添加效果:
三.修改效果:
四.删除效果
五.使用MongoSVG工具查看数据:
EasyUI-datagrid数据展示+MongoDB数据操作的更多相关文章
- Jquery easyUI datagrid载入复杂JSON数据方法
1.JSON数据为: { "total":28, "rows": [ { "itemNo": "1&q ...
- easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题
在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...
- jquery easyui datagrid 远程加载数据----javascript法
jquery easyui有三种办法生成datagrid(数据网格),本篇专门讨论javascript借助jquey easy ui实现的方式 html部分 <main role="m ...
- easyui datagrid行编辑中数据联动
easyui的datagrid中行内编辑使用数据联动.即:当编辑产品编号时,该行的产品名称自动根据产品编号显示出来. 在编辑中获取当前行的索引 function getRowIndex(target) ...
- easyui datagrid 动态加载数据 渲染问题,表格错位问题
$('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {fie ...
- jquery easyui datagrid 远程加载数据----把主键渲染为值遇到的问题及解决方案
起因:数据库中一些字段存的是代表具体值的数字,需要渲染为具体值 monggodb中的字典 mysql中存放的值为:expertin代表教练擅长的搏击技能 jquery easyui中的相关代码如下:用 ...
- easyui datagrid 后台返回所有数据,前台分页
function pagerFilter(data) { if (typeof data.length == 'number' && typeof data.splice == 'fu ...
- Easyui datagrid 绑定本地Json数据
var jsonstr = '{"total":1,"rows":[{"id":"M000005","name ...
- Java电商项目-6.实现门户首页数据展示_Redis数据缓存
目录 项目的Github地址 需求介绍 搭建Redis集群环境 下面先描述单机版redis的安装 下面将进行Redis3主3从集群环境搭建 基于SOA架构, 创建门户ashop-portal-web门 ...
随机推荐
- iOS---------- @synchronized(self)的用法
1. synchronized 这个主要是考虑多线程的程序,这个指令可以将{ } 内的代码限制在一个线程执行,如果某个线程没有执行完,其他的线程如果需要执行就得等着. Objective-C除了提 ...
- 冒泡排序java代码
冒泡排序就是依次取出最大数,然后依次交换放到数组最后边. 直观写法: public long[] sort(long[] a){ int n = a.length - 1; // Step:1 选出最 ...
- (4) PIVOT 和 UPIVOT 的使用
最近项目中用到了行转列,使用SQL SERVER 提供的PIVOT实现起来非常容易. 官方解释:详见这里 可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表. PIVOT ...
- Android如何避免切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题
1.最近的项目中,有一个Activity用到Fragment+ViewPager,其中一个fragment中实现了视频播放的功能,包含有SurfaceView.结果,每次打开程序第一次进入到该Acti ...
- Nutch源码阅读进程5---updatedb
看nutch的源码仿佛就是一场谍战片,而构成这精彩绝伦的谍战剧情的就是nutch的每一个从inject->generate->fetch->parse->update的环节,首 ...
- CSS3 Animation Cheat Sheet:实用的 CSS3 动画库
CSS3 Animation Cheat Sheet 是一组预设的动画库,为您的 Web 项目添加各种很炫的动画.所有你需要做的是添加样式表到你的网站,为你想要添加动画效果的元素应用预制的 CSS 类 ...
- javascript学习5
JavaScript Array(数组)对象 数组对象的作用是:使用单独的变量名来存储一系列的值. 实例 创建数组 创建数组,为其赋值,然后输出这些值. For...In 声明 使用 for...in ...
- android中出现Error retrieving parent for item: No resource found that matches the Theme.AppCompat.Light
styles.xml中<style name="AppBaseTheme" parent="Theme.AppCompat.Light">提示如下错 ...
- 实例演示Android异步加载图片
本文给大家演示异步加载图片的分析过程.让大家了解异步加载图片的好处,以及如何更新UI.首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个 ...
- jQuery DOM操作
对节点的操作 查找节点 查找节点可以直接利用jQuery选择器来完成,非常便利. 插入节点 jQuery提供了8种插入节点的方法. 序号 方法 描述 实例 1 append() 向每个匹配的元素内部追 ...