项目经历——EasyUI的检索和更新操作

当前位置 : 首页 > 网页制作 > CSS > 项目经历——EasyUI的检索和更新操作

项目经历——EasyUI的检索和更新操作

来源: 作者: 时间:2016-01-28 09:27
什么事都耐不住磨?! 比如一个让人很头疼的问题,对于项目中所用到的EasyUI框架就是一个很明显的感受。项目使用的EasyUI框架,自身封装好的样式使得开发者不用考虑具体的div和cs

  什么事都耐不住“磨”?!

  比如一个让人很头疼的问题,对于项目中所用到的EasyUI框架就是一个很明显的感受。项目使用的EasyUI框架,自身封装好的样式使得开发者不用考虑具体的div和css样式了,但是却折腾的接手项目不久的我们。那谁说的,生命不息,折腾不止,今天也来折腾一下EasyUI的简单操作——对EasyUI的增删改查。

业务分析

\

  

  1、页面加载的时候,从数据库对应的表或视图中检索对应的记录显示在页面上面;
  2、设置时间或者通过不通过条件,可以根据设置的条件显示具体的数据
  3、单击认证,将审阅状态和是否认证都修改成Yes,取消认证则将两者修改成No;


功能实现:

  查询操作:

    Html代码

	    <%--表格显示区--%>
	    
	        <%-- 表格标题--%>
	        
用户名 日志标题 时间 审阅状态 通知 是否认证
<%--工具栏-包括按时间查找、按是否通过代码审核查找、查找按钮--%>
时间从: 到: 机器审核:
//查询并把数据传递给后台,数组 function getQueryParams(queryParams) { var StartTime = $("#StartTime").datebox("getValue"); var EndTime = $("#EndTime").datebox("getValue"); //var KeyWord = document.getElementById("KeyWord").value; var Category = $("#Category").combobox("getValue"); queryParams.StartTime = StartTime; queryParams.EndTime = EndTime; //queryParams.KeyWord = KeyWord; queryParams.Category = Category; return queryParams; } //增加查询参数,重新加载表格 function reloadgrid() { //查询参数直接添加在queryParams中 var queryParams = $('#tt').datagrid('options').queryParams; getQueryParams(queryParams); $('#tt').datagrid('options').queryParams = queryParams;//传递值 //alert(queryParams.Category); $("#tt").datagrid('reload');//重新加载table }


     这里都是EasyUI封装好的数据显示区和检索功能区。注意事项:       1、table中的 url:'ExamineVerifyLog.ashx/ProcessRequest', 是要引用的一般处理程序
      2、pageSize:5,pageList:[5,10,15,20] 是设置每页显示的数量
      3、"field:'要绑定的数据 '用来绑定自己数据库对应的字段,其中的样式居中等可以自行设置。
      4、查询传递参数,应该和工具栏区的控件ID名称 保持一致。

 

  一般处理程序

//声明B层类        userLogBLL userlog = new userLogBLL();
        public void ProcessRequest(HttpContext context)
        {
            string command = context.Request.QueryString["test"];

            if (command == null)
            {
                Query(context);
            }

            if (command == "modify")
            {
                Modify(context);
            }
            else
            {
                Query(context);
            }
        }

        //查询显示该页面下面的信息
        public void Query(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //===============================================================
            //获取查询条件:【用户id,开始时间,结束时间,关键字】
            string category, startTime, endTime;
            category = startTime = endTime = "";
            if (null != context.Request.QueryString["Category"])
            {
                category = context.Request.QueryString["Category"].ToString().Trim();
            }
            if (null != context.Request.QueryString["StartTime"])
            {
                startTime = context.Request.QueryString["StartTime"].ToString().Trim();
            }
            if (null != context.Request.QueryString["EndTime"])
            {
                endTime = context.Request.QueryString["EndTime"].ToString().Trim();
            }            

            //================================================================
            //获取分页和排序信息:页大小,页码,排序方式,排序字段
            int pageRows, page;
            pageRows = 10;
            page = 1;
            string order, sort, oderby; order = sort = oderby = "";
            if (null != context.Request.QueryString["rows"])
            {
                pageRows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());

            }
            if (null != context.Request.QueryString["page"])
            {

                page = int.Parse(context.Request.QueryString["page"].ToString().Trim());

            }
            if (null != context.Request.QueryString["sort"])
            {
                order = context.Request.QueryString["sort"].ToString().Trim();

            }
            if (null != context.Request.QueryString["order"])
            {
                sort = context.Request.QueryString["order"].ToString().Trim();

            }

            //===================================================================
            //组合查询语句:条件+排序
            StringBuilder strWhere = new StringBuilder();
           
            if (category != "")
            {
                strWhere.AppendFormat(" ExamineSign= '{0}' and ", category);
            }
            if (startTime != "")
            {
                strWhere.AppendFormat(" PublishDate >= '{0}' and ", startTime);
            }
            if (endTime != "")
            {
                strWhere.AppendFormat(" PublishDate <= '{0}' and ", endTime);
            }

            //删除多余的and
            int startindex = strWhere.ToString().LastIndexOf("and");//获取最后一个and的位置
            if (startindex >= 0)
            {
                strWhere.Remove(startindex, 3);//删除多余的and关键字
            }
            if (sort != "" && order != "")
            {
                //strWhere.AppendFormat(" order by {0} {1}", sort, order);//添加排序
                oderby = order + " " + sort;
            }
            //DataSet ds = Bnotice.GetList(strWhere.ToString());  //调用不分页的getlist

            //调用分页的GetList方法
            DataSet ds = userlog.GetListByPage(strWhere.ToString(), oderby, (page - 1) * pageRows + 1, page * pageRows);
            int count = userlog.GetRecordCount(strWhere.ToString());
            string strJson = ToJson.Dataset2Json(ds, count);
            context.Response.Write(strJson);
            context.Response.End();
        }


修改更新认证:

  Html代码:
        //修改管理员
        function modify(flag) {
            $('#fm').form('clear');
            var row = $('#tt').datagrid('getSelected');//获取选中行

            //定义更新所需要的参数,也就是数据库对应的字段,从页面表格中获取即可。
            var userid = row.UserID;
            var content = row.Content;
            var examinemessage = row.ExamineMessage;
            var publishdate = row.PublishDate;
            var realname = row.RealName;
            var title = row.Title;
            var userlogid = row.UserLogID;
            var examineSign=flag;           

            var xmlHttp = null;

            //创建Ajax核心对象.表示当前不是ie
            if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            } else if (window.ActiveXObject) {//IE浏览器
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }

            var url = "ExamineVerifyLog.ashx?test=modify&UserID=" + userid + "&Content=" + content + "&ExamineSign=" + examineSign + "&ExamineMessage=" + examinemessage + "&PublishDate=" + publishdate + "&RealName=" + realname + "&Title=" + title + "&UserLogID=" + userlogid;

            //设置请求方式为GET,url,异步提交
            xmlHttp.open("GET", url, true);

            xmlHttp.onreadystatechange = function () {
                //alert(xmlHttp.readyState);
                //判断是否执行完毕
                if (4 == xmlHttp.readyState) {
                    //若执行成功
                    if (200 == xmlHttp.status) {
                        //调用reload
                        $('#tt').datagrid('reload');
                    }
                    else {
                        alert("请求失败!错误代码:" + xmlHttp.status);
                    }
                }
            };
            //开启异步请求
            xmlHttp.send(null);
        }


一般处理程序代码:

        /// 
        /// 修改记录
        /// 
        /// 
        public void Modify(HttpContext context)
        {
		//声明实体类
	    Entity.userLogEntity entityuserlog = new Entity.userLogEntity();
            entityuserlog.UserID = context.Server.UrlDecode(context.Request.QueryString["UserID"]);
            entityuserlog.Content = context.Server.UrlDecode(context.Request.QueryString["Content"]);
            entityuserlog.ExamineMessage = context.Server.UrlDecode(context.Request.QueryString["ExamineMessage"]);
            entityuserlog.PublishDate = context.Server.UrlDecode(context.Request.QueryString["PublishDate"]);
            entityuserlog.Title = context.Server.UrlDecode(context.Request.QueryString["Title"]);
            entityuserlog.UserLogID = context.Server.UrlDecode(context.Request.QueryString["UserLogID"]);
            entityuserlog.ExamineSign = context.Server.UrlDecode(context.Request.QueryString["ExamineSign"]);
           
            try
            {
                if (userlog.Update(entityuserlog))//判断是否更新成功
                {
                    context.Response.Write("T");
                }
                else
                {
                    context.Response.Write("F");
                }
            }

            catch (Exception ex)
            {

            }
	}

  当然,这里没有写出D层的方法,D层都是动软代码生成的,不是我们自己写的,生成好之后,直接调用东软代码生成的方法~~~


自己的感觉:

  对于EasyUI,我的感觉就是:各种封装好的框架,要实现相应的功能,调用其封装好的方法即可。但是这句话说起来简单,真正的做到,却是让人那个什么隐隐生疼的赶脚~~~这里还是多亏了成龙师哥的帮助,^_~......

  补充一句闲话:说话是一回事,交流是另一回事!




Tag:
网友评论

<