EasyUI笔记(六)数据表格
用asp.net结合easyui做个一个数据网格的页面,包括对数据的增删改查,界面如下:

<body><table id="tb1"></table><div id="tb" style="padding:5px"><div style="margin-bottom:5px"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-reload'" onclick="reload()">刷新</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="Add()">添加</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-edit'" onclick="edit()">修改</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove'" onclick="destroy()">删除</a></div><div>查询名称:<input type="text" id="Eq" name="Eq" style="width:150px"/><select id="order" class="easyui-combobox" style="width:100px"><option value="asc">升序</option><option value="desc">降序</option></select><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" onclick="obj.search()">查询</a></div></div><%-- 弹窗 Start--%><div id="dlg" class="easyui-dialog" style="width:400px;height:320px;padding:10px 20px" data-options="closed:true,buttons:'#dlg-buttons'"><div class="ftitle">设备信息</div><form id="fm" method="post" novalidate="novalidate"><div class="fitem"><label>产品编号:</label><input id="ProductID" name="ProductID" class="easyui-validatebox" data-options="required:false"/></div><div class="fitem"><label>产品名称:</label><input id="Name" name="Name" class="easyui-validatebox" data-options="required:true"/></div><div class="fitem"><label>描述:</label><input id="Description" name="Description" class="easyui-validatebox" data-options="required:true"/></div><div class="fitem"><label>种类:</label><input id="Category" name="Category" class="easyui-validatebox" data-options="required:true"/></div><div class="fitem"><label>价格:</label><input id="Price" name="Price" class="easyui-validatebox" data-options="required:true,validType:'intOrFloat'"/></div></form></div><div id="dlg-buttons"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" onclick="save()" style="width:90px">Save</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">Cancel</a></div><%-- 弹窗 End --%></body>
$(function () {$('#tb1').datagrid({url: '../Handler/GetDataFormSql.ashx',width: 1200,title: '管理',method: 'get',toolbar: '#tb',//rownumbers: true,singleSelect:true,columns: [[{ field: 'ProductID', title: '编号', width: 150 },{ field: 'Name', title: '名称', width: 150 },{ field: 'Description', title: '描述', width: 250 },{ field: 'Category', title: '种类', width: 150 },{ field: 'Price', title: '价格', width: 150 }]],pagination: true,pageSize: 20,pageList: [20, 30 , 40]});})
public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";int page = 1, rows = 10;//EasyUI自带的两个参数rows与page ,表示当前页与行数if (context.Request.QueryString["rows"] != null){rows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());}if (context.Request.QueryString["page"] != null){page = int.Parse(context.Request.QueryString["page"].ToString().Trim());}//查询分页 stratIndex endIndexint stratIndex, endIndex;stratIndex = (page - 1) * rows + 1;endIndex = page * rows;//查询排序 key orderstring key = "", order = "desc";if (context.Request.QueryString["key"] != null){key = context.Request.QueryString["key"].ToString().Trim();}if (context.Request.QueryString["order"] != null){order = context.Request.QueryString["order"].ToString().Trim();}//设置模糊查询StringBuilder sqlWhere = new StringBuilder();if (key != "") {sqlWhere.AppendFormat("upper(ProductID) like '%{0}%' or "+"upper(Name) like '%{0}%' or "+"upper(Description) like '%{0}%' or " +"upper(Category) like '%{0}%' or " +"upper(Price) like '%{0}%'",key);}//查询数据库DAL.SqlHelper sqlhelper = new DAL.SqlHelper();//获取查询数据的行数int count = sqlhelper.EUGetRecordCount(sqlWhere.ToString());//封装数据到datasetDataSet ds = sqlhelper.GetListByPagebykey(sqlWhere.ToString(), order, stratIndex, endIndex);//将dataset转化为Json格式string strToJon = DAL.ToJson.DatasetJson(ds, count);context.Response.Write(strToJon);context.Response.End();}
public int EUGetRecordCount(string key){StringBuilder strSql = new StringBuilder();strSql.Append("select count(1) FROM Products ");if (key.Trim() != ""){strSql.Append("where " + key);}object obj = DBHelper.GetSingle(strSql.ToString());if (obj == null){return 0;}else{return Convert.ToInt32(obj);}}public DataSet GetListByPagebykey(string Key, string order, int startIndex, int endIndex){StringBuilder strSql = new StringBuilder();strSql.Append("SELECT * FROM ( ");strSql.Append(" SELECT ROW_NUMBER() OVER (");if (!string.IsNullOrEmpty(Key.Trim())){strSql.Append("order by T." + Key+" " + order);}else{strSql.Append("order by T.ProductID asc");}strSql.Append(")AS Row, T.* from Products T ");if (!string.IsNullOrEmpty(Key.Trim())){strSql.Append(" WHERE " + Key);}strSql.Append(" ) TT");strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);return DBHelper.Query(strSql.ToString());}
public class ToJson{/// <summary>/// DataSet转换成Json格式/// </summary>/// <param name="ds">DataSet</param>/// <returns></returns>public static string DatasetJson(DataSet ds, int total = -1){StringBuilder json = new StringBuilder();foreach (DataTable dt in ds.Tables){json.Append("{\"total\":");if (total == -1){json.Append(dt.Rows.Count);}else{json.Append(total);}json.Append(",\"rows\":");json.Append(DataTableJson(dt));json.Append("]}");} return json.ToString();}private static string DataTableJson(DataTable dt){StringBuilder jsonBuilder = new StringBuilder();jsonBuilder.Append("[");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("\",");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("},");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);return jsonBuilder.ToString();}}
public int Add(Products model){StringBuilder strSql = new StringBuilder();strSql.Append("insert into Products(");strSql.Append("Name,Description,Category,Price)");strSql.Append(" values (");strSql.Append("@Name,@Description,@Category,@Price)");strSql.Append(";select @@IDENTITY");SqlParameter[] parameters = {new SqlParameter("@Name", SqlDbType.NVarChar,255),new SqlParameter("@Description", SqlDbType.NVarChar,255),new SqlParameter("@Category", SqlDbType.NVarChar,255),new SqlParameter("@Price ", SqlDbType.Decimal,255),};//parameters[0].Value = model.ProductID;parameters[0].Value = model.Name;parameters[1].Value = model.Description;parameters[2].Value = model.Category;parameters[3].Value = model.Price;object obj = DBHelper.GetSingle(strSql.ToString(), parameters);if (obj == null){return 0;}else{return Convert.ToInt32(obj);}}
EasyUI笔记(六)数据表格的更多相关文章
- 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件
jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...
- 第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件
jQuery EasyUI,ComboGrid(数据表格下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 ComboGrid(数据表格下拉框)组件的 ...
- jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)
jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...
- Jquery EasyUI datagrid后台数据表格生成及分页详解
由于项目原因,网站后台需要对用户信息进行各种操作,有时还需要进行批量操作,所以首先需要将用户信息展示出来,查了不少资料.发现Jquery EasyUI确实是一个不错的选择,功能强大,文档也比较全面,而 ...
- (五)EasyUI使用——datagrid数据表格
DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识.它是轻量级的且功能丰富.单元格合并. ...
- DataGrid( 数据表格) 组件[9]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[8]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[7]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[6]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[5]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
随机推荐
- 曹工说Spring Boot源码(13)-- AspectJ的运行时织入(Load-Time-Weaving),基本内容是讲清楚了(附源码)
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...
- this和static
[this] 指的是明确的标记本类的结构 当前正在调用类中方法的对象,不是一个固定的 java中以“{}”为界限.如果现在属性名称和参数名称重名,那么默认情况下,如果没有加任何的限制,指的是最近的“{ ...
- 实验10: RIP
实验7-1 : RIPV1 实验目的通过本实验可以掌握:1. 在路由器上启动RIPv1 路由进程2. 启用参与路由协议的接口,并且通告网络3. 理解路由表的含义4. 查看和调试RIPv1 路由协议相 ...
- C#中? 和 ??的区别
背景 最近在调试C#项目的时候,发现一个比较关于??的特殊用法,当时把我给惊到了,所以特意用这篇短短的笔记来记录一下我的解惑过程: 示例代码: showsomething(isNameNull ?? ...
- ICC中对Skew进行Debug的好工具--Interactive CTS Window
本文转自:自己的微信公众号<集成电路设计及EDA教程> 以后打算交替着推送多种EDA工具的教程而不只是单纯针对某个工具,依次来满足不同粉丝的需求. 这里分享一篇多年之前写的推文,虽然时间 ...
- 9. HanLP《自然语言处理入门》笔记--9.关键词、关键句和短语提取
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 9. 信息抽取 信息抽取是一个宽泛的概念,指的是从非结构化文本中提取结构化信息的一 ...
- Java 添加、替换、删除PDF中的图片
概述 本文介绍通过java程序向PDF文档添加图片,以及替换和删除PDF中已有的图片.另外,关于图片的操作还可参考设置PDF 图片背景.设置PDF图片水印.读取PDF中的图片.将PDF保存为图片等文章 ...
- wordpress 如何正确升级
http://www.admin5.com/article/20141230/578710.shtml 正确的版本升级应该是,备份数据库和文件,然后禁用所有的插件后在执行升级.这样也避免不了升级过后启 ...
- [python]bytes和str
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ...
- DOCKER 学习笔记9 Kubernetes (K8s) 生产级容器编排 上
前言 在上一节的学习中.我们已经可以通过最基本的 Docker Swarm 创建集群,然后在集群里面加入我们需要运行的任务 以及任务的数量 这样我们就创建了一个服务. 当然,这样的方式在我们本地虚拟机 ...