项目总结—jQuery EasyUI- DataGrid使用
http://blog.csdn.net/zwk626542417/article/details/18839349
概要
jQuery EasyUI是一个基于jquery的集成了各种用户界面的框架,使用easyui我们不需要写太多javascript代码,一般情况下我们只需要使用一些html标记来定义用户接口,easyui将我们需要的功能都已经封装好了,我们只要来调用easyui给我们提供的接口就可以了,今天我们来学习下easyui中的DataGrid
数据显示
我们可以在easyui-datagrid中显示数据,显示数据从大类上我们也分为两种,一种是datagrid显示的数据不是来自于数据库,另一种就是将数据库的内容进行显示.
第一种
这一种是直接将写好的内容放到前台界面上写,所以相对来说比较简单,我们来看下前台代码的书写.
- <table id="dg"title="定性指标基础信息" class="easyui-datagrid" style="width:900px; height: 400px; padding-left: 200px;" url="get_users.php"toolbar="#toolbar" pagination="true"
- rownumbers="true" fitcolumns="true"singleselect="true">
- <thead>
- //设置列名
- <tr>
- <thfieldthfield="firstname" width="50">定性指标级别</th>
- <thfieldthfield="lastname" width="50">分数</th>
- </tr>
- </thead>
- //数据填充
- <tbody>
- <tr>
- <td>优秀</td>
- <td>100</td>
- </tr>
- <tr>
- <td>良好</td>
- <td>80</td>
- </tr>
- <tr>
- <td>一般</td>
- <td>60</td>
- </tr>
- <tr>
- <td>较差</td>
- <td>50</td>
- </tr>
- </tbody>
- </table>
- //工具栏按钮
- <dividdivid="toolbar">
- <ahrefahref="javascript:void(0)" class="easyui-linkbutton"iconcls="icon-add" plain="true"onclick="newUser()">添加</a>
- <ahrefahref="javascript:void(0)" class="easyui-linkbutton"iconcls="icon-edit" plain="true"onclick="editUser()">修改</a>
- <ahrefahref="javascript:void(0)" class="easyui-linkbutton"iconcls="icon-remove" plain="true"onclick="destroyUser()">删除</a>
- </div>
下面这是效果图
第二种
这种是将我们数据库中的内容显示到前台,我们经过一般处理程序从数据库中将数据提取出来,然后将数据显示到DataGrid中。
在这里需要注意的是,我们从数据库中取出来的内容是表格形式的dataset或datatable,而前台DataGrid接收的数据是固定格式的Json格式数据,所以我们需要将表格形式的数据转化为DataGrid需要的固定格式的Json格式数据。
- {"total":28,"rows":[
- {"产品ID":"FI-SW-01","产品名称":"Koi","价格":10.00,"状态":"P"},
- {"产品ID":"K9-DL-01","产品名称":"Dalmation","价格":12.00,"状态"":"P"},
- {"产品ID":"RP-SN-01","产品名称":"Rattlesnake","价格":12.00,"状态"":"P"},
- {"产品ID":"RP-SN-01","产品名称":"Rattlesnake","价格":12.00,"状态"":"P"},
- {"产品ID":"RP-LI-02","产品名称":"Iguana","价格":12.00,"状态"":"P"},
- {"产品ID":"FL-DSH-01","产品名称":"Manx","价格":12.00,"状态"":"P"},
- ]}
下面我们来看下怎么样将数据库中的数据显示到前台的具体过程,
首先是前台页面的书写:
- <div id="tt"class="easyui-tabs" style="width: 1100px; height: 530px;margin-top: 15px">
- <div title="已录入单位"style="padding: 10px">
- <table id="HaveInput"title="原始数据录入情况" class="easyui-datagrid" style="width:1050px; height: 480px; padding-left: 200px;"data-options="rownumbers:true,url:'InputScoresDetailsDeveloped.ashx/ProcessRequest',pageSize:5,pageList:[5,10,15,20],method:'get',toolbar:'#tb',"
- toolbar="#bar"pagination="true" rownumbers="true"fitcolumns="true" striped="true"singleselect="true">
- <thead>
- <%--设置绑定表格的列名,列名与数据库相同--%>
- <tr>
- <thdata-optionsthdata-options="field:'DepartmentName',width:100">单位名称</th>
- <thdata-optionsthdata-options="field:'QuantyOriginalData',width:100">定量原始数据</th>
- <thdata-optionsthdata-options="field:'QualityOriginalData',width:100">定性原始数据</th>
- <thdata-optionsthdata-options="field:'Remarks', width:175,align:'right'">备注</th>
- <thdata-optionsthdata-options="field:'YearTime', width:85,align:'right'">年份</th>
- </tr>
- </thead>
- </table>
- <div id="bar">
- <ahrefahref="javascript:void(0)" class="easyui-linkbutton"iconcls="icon-edit" plain="true"onclick="editUser()">修改数据</a>
- </div>
- </div>
表格属性里的的URL就是与一般处理程序交互用的。。
下面我们来看一般处理程序的书写,一般处理程序要首先接收由前台传过来的信息。
- public void ProcessRequest(HttpContextcontext)
- {
- string command =context.Request.QueryString["test"];//前台传的标示值
- if (command == "add")
- {//调用添加方法
- Add(context);
- }
- else if (command =="modify")
- {//调用修改方法
- Modify(context);
- }
- else
- {//调用查询方法
- Query(context);
- }
- }
然后的话才是我们从一般处理程序来向数据库获取要显示的数据库数据
- public void Query(HttpContext context)
- {
- //调用B层的方法从而获取数据库的Dataset
- DataSet ds =developmentRecordBLL.GetInputDevelopmentInfo();
- //将Dataset转化为Datable
- DataTable dt = ds.Tables[0];
- int count = dt.Rows.Count;
- string strJson =ToJson.Dataset2Json(ds, count);//DataSet数据转化为Json数据
- context.Response.Write(strJson);//返回给前台页面
- context.Response.End();
- }
然后我们来看下DataSet数据转化为Json数据的方法
- public class ToJson
- {
- #region DataSet转换成Json格式
- /// <summary>
- /// DataSet转换成Json格式
- /// </summary>
- /// <paramname="ds">DataSet</param>
- ///<returns></returns>
- public static stringDataset2Json(DataSet ds, int total = -1)
- {
- StringBuilder json = newStringBuilder();
- foreach (DataTable dt in ds.Tables)
- {
- //{"total":5,"rows":[
- json.Append("{\"total\":");
- if (total == -1)
- {
- json.Append(dt.Rows.Count);
- }
- else
- {
- json.Append(total);
- }
- json.Append(",\"rows\":[");
- json.Append(DataTable2Json(dt));
- json.Append("]}");
- } return json.ToString();
- }
- #endregion
- #region dataTable转换成Json格式
- /// <summary>
- /// dataTable转换成Json格式
- /// </summary>
- /// <paramname="dt"></param>
- ///<returns></returns>
- public static stringDataTable2Json(DataTable dt)
- {
- StringBuilder jsonBuilder = newStringBuilder();
- 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);
- }
- return jsonBuilder.ToString();
- }
- #endregion dataTable转换成Json格式
- }
到这里我们就可以成功的将数据库中的数据显示到前台的DataGrid了。
下面我们来看下效果
到这里我们就可以将数据库中的数据在前台显示了。
总结
在easyui中datagrid的使用还是很重要的,在这里我们先简要的介绍下,使datagrid可以简单的显示一些数据,关于datagrid的进一步的知识我们在下篇博客中将继续进行介绍。
项目总结—jQuery EasyUI- DataGrid使用的更多相关文章
- jQuery EasyUI DataGrid Checkbox 数据设定与取值
纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...
- 项目常用jquery/easyui函数小结
#项目常用jquery/easyui函数小结 ##背景 项目中经常需要使用到一些功能,封装.重构.整理后形成代码沉淀,在此进行分享 ##代码 ```javascript /** * @author g ...
- 浅谈jQuery easyui datagrid操作单元格样式
今天项目上遇到问题,就是表格风格统一的问题,由于用了2个不同的框架,所以如果要大修比较麻烦,考虑到修改表格样式工作量会少很多,所以考虑修改jQuery easyui datagrid数据网格的样式. ...
- JQuery easyUi datagrid 中 editor 动态设置最大值最小值
前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考. 问题 JQuery easyUi datagri ...
- jQuery EasyUI datagrid实现本地分页的方法
http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ...
- jquery easyui datagrid使用参考
jquery easyui datagrid使用参考 创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: 页面上 ...
- Jquery easyui datagrid 导出Excel
From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...
- jquery easyui datagrid 获取Checked选择行(勾选行)数据
原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...
- DoNet开源项目-基于jQuery EasyUI的后台管理系统
博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery EasyUI 后台管理系统布局分享,目前已完成系统的整体框架的搭建 ...
- 扩展jquery easyui datagrid编辑单元格
扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...
随机推荐
- linux如何挂载windows下的共享文件
说明:windows下有一共享文件夹APP,windows本地ip是192.168.9.155现在需要在linux服务器上挂载这个APP文件夹,linux服务器ip是192.168.9.200 操作记 ...
- hammer.js中文文档
转自:http://www.uedsc.com/hammerjs-api.html HammerJS是一个优秀的.轻量级的触屏设备手势库,现在已经更新到2.04版本,跟1.0版本有点天壤地别了,毕竟改 ...
- IPAdr.exe注册机[PY]
算法还原: a =raw_input('enter the string: \n') num =len(a) All_c=0 for i in range(0,num,1): b =ord(a[i]) ...
- 3D数学基础:四元数与欧拉角之间的转换
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点.本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系: 单位四元数可视化为三维矢量加上第四 ...
- opencv2学习:计算协方差矩阵
图像的高级处理中,协方差矩阵计算是必不可少的,但opencv关于这方面的资料却相当少. 首先,利用matlab计算一下,便于比较: >> data=[1,2,3;10,20,30] dat ...
- 通过数据库方式访问excel 2007及其以后(xlsx)文件的连接字符串
sqlconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test3.xls;Extended Properties=&q ...
- ios —— UIViewAdditions 布局坐标类库
方便大家计算视图的高度,宽度,上下左右坐标,简化代码操作,更加直观 下载地址:http://download.csdn.net/detail/humingtao2013/7511657
- Unity3D 文字滚动跑马灯效果
需求 在日常游戏中,文字滚动效果是比较常用的.例如日常游戏顶部的新闻公告,聊天系统的文字滚动,都属于这个范围. 思路 由于使用的地方比较广泛,所以希望能够尽量独立的游戏之外,能够做到随处使用的功能.N ...
- PHP+memcache扩展(集成环境wampserver环境下)
按照别人的步骤,安装和配置后没有任何的错误提示!在计算机服务里面也看到memcached服务已经开启,但是phpinfo里面就是没有memcache已经安装成功的信息!后来才发现原来是没有开启wamp ...
- windows API 开发飞机订票系统 图形化界面 (二)
首先,用到的数据结构的定义.以及全局变量和函数的声明如下: // Flight.c : 定义应用程序的入口点. // #include "stdafx.h" //订单 typede ...