基于EasyUI datagrid实现数据库操作的方法
作者:杨旭光
来源:《计算机光盘软件与应用》2012年第22
        摘要:MVC三层架构是一种经典的设计模式,MVC的思想是将显示View)、数据Model)和控制Control)分开。而Jquery UI作为前端视图的一种流行插件,也正逐渐得到广泛应用。其中Datagrid是数据库WEB页面呈现较频繁的一种样式,设计中,数据在呈现于WEB页面前,已事先被封装为JSON格式的数据,数据和显示及控制是分开进行的。
        关键词:JqueryJSON数据格式;MVC三层架构
        中图分类号:TP311.13 文献标识码:A 文章编号:1007-9599 2012 22-0000-03
        1 前言
        WEB服务的开发应用中,MVC多层次架构设计已逐渐成为了一种流行的设计思想。在早期基于PHP开发WEB服务应用时,一般是把HTML的产生放在PHP[1]PHP开发人员需对HTML等前端技术也要有较深入的了解,才能进行开发。而目前,随着模型-视图-控制器开
发模式的引入,它不仅减轻了开发人员的负担,而且也增加了设计应用中的灵活性。提高了系统的可维护性、可扩展性和可移植性。其中,在视图前端Web UI技术中关于数据库数据网格的操作是较频繁的一类应用需求。EasyUI DataGrid作为现较流行的一种数据网格插件,已得到了广泛的运用。它是一个用Jquery[2]写的DataGrid,在具体产生DataGrid时可有两种方法来实现:
        1)使用PHP等后台语言直接产生HTML语法来显示DataGrid,当要对该DataGrid操作时,在传递参数到后端,重新产生整个网页。
        2)先形成JSON格式[3]数据给前端,前端接收到JSON格式数据后,再分析并处理数据,然后利用JQuery刷新该DataGrid,以便实现数据的呈现更新。其中,第二种方法,结构相对独立清晰,且前后端分离处理,增加了设计的灵活性。
        下面的设计是以第二种方法(如图1所示)来具体实现的。
        2 利用EasyUI datagrid实现数据呈现
        上述脚本中,指出了后端服务器数据处理的文件是yhsc.phpadd_user.phpupdate_
user.php,这几个文件需在服务器端预定义好。当数据网格初始界面生成后,由dispall()函数装载所有班级数据,装载过程中,按设置好的分页条数提示正在装载该页,并显示一些分页信息在数据网格中。
        前端用户的操作可有以下几类:
        1)点击某行数据时,记录下行号;
        2)点击增加用户工具按钮时,则网格数据的尾部中增加一个空行,并修改数据行数,设定增加的行处于选中并进入可编辑状态;
        3)点击删除用户工具按钮时,则得到选中的需删除的用户数据行,并提醒用户和执行该行在网格中的删除,而后端数据库相应数据的删除,将提交给服务器端的yhsc.php文件中的代码去完成;
        4)点击保存工具按钮时,则如果是需保存增加的用户行数据,那么将得到该行,并提交给add_user.php完成后端服务器上数据库的数据添加,否则如果是需保存用户已修改了的某行数据,则提交该行给update_user.php完成后端服务器数据库的数据修改,上述两个
过程实际上是个异步执行过程;
        5)点击搜索工具按钮时,将得到用户在组合框中选择的班级ID,并提交给后端服务器inyh.php文件(初始化界面时定义)去执行该班级用户数据的装载。
        3 结论
        可以看到,采用EasyUI datagrid后,数据库的后端操作非常简单,实现起来较方便。Jquery EasyUI作为流行的WEB开发插件,目前正得到越来越多的广泛应用,本文旨在介绍自己利用Datagrid在实际开发应用的一点经验积累,冀望促进相关的应用设计交流。
        参考文献:
        [1]赵增敏.PHP动态网站开发[M],北京:电子工业出版社.2009.
        [2]季国飞.jQuery开发技术详解[M],北京:电子工业出版社.20105-10.
        [3]巴班.AjaxPHPmvc和三层架构的理解基础教程[M],北京:人民邮电出版社.2007120-130.
        基金项目:百学院院级项目支持,项目编号:百院2010KB13
        作者简介:杨旭光(1971-),男,江西九江人,讲师,研究生,研究方向:软件水印,数据库技术。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。