热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

UI组件:ext、JqueryEasyUI、miniui、dhtmlx及自定义页面

这篇博文主要是分析下当前经常使用到的UI组件,他们的效果和功能一般都可以满足我们平常项目使用,但对于较复杂些的项目建议你要斟酌下再决定是否使用ÿ

  这篇博文主要是分析下当前经常使用到的UI组件,他们的效果和功能一般都可以满足我们平常项目使用,但对于较复杂些的项目建议你要斟酌下再决定是否使用?如何去用?尤其是字段和数据源都是后台动态生成那么考验性更大……

需求:列表页展现数据,其中列头(一般在50个以上)和数据源都是后台动态生成,每页展示10条数据、排序、列拖动等功能

 

要求效果:

 

方法一:后台拼凑

Json格式生成Table

页面加载速度:

使用结果来看:

  优点:速度、体验性综合排名第二

  缺点:列拖动用了第三方jquery插件但是效果上不是很好,另外虽然是ajax无刷新页面加载数据但是在排序、分页时数据表格需要重新绘制所以会有点给人抖动的感觉

 

方法二:JqueryEasyUI

部分主要源码:

View Code

后台数据同上拼凑Json格式数据

Json格式注意 context.Response.Write("{\"total\":" + total + ",\"rows\":" + Common.Class.JsonHelper.DataTable2Json(SourceTable) + "}");

页面加载速度:

使用结果来看:

  优点:界面要求的效果达标,数据量少的可以使用,数据量大建议考虑下。

  缺点:加载速递慢 排名末尾

方法三:MiniUI

部分主要源码&#xff1a;<%&#61;sb.ToString() %> 一次性加载列头

 

View Code

<%--miniui--%><link href&#61;"miniui/miniui/themes/default/miniui.css" rel&#61;"stylesheet" type&#61;"text/css" /><link href&#61;"miniui/miniui/themes/icons.css" rel&#61;"stylesheet" type&#61;"text/css" /><script src&#61;"miniui/miniui/miniui.js" type&#61;"text/Javascript">script><%--end--%> <div id&#61;"datagrid1" class&#61;"mini-datagrid" style&#61;"width: 98%;margin:auto auto; height: auto; overflow:hidden;" url&#61;&#39;/Ajax/Normal.ashx?action&#61;normalMiniUI&mouldId&#61;<%&#61;mouldId %>&#39;idfield&#61;"id" allowresize&#61;"true" sizelist&#61;"[10,20,30]" pagesize&#61;"10" multiselect&#61;"true"allowalternating&#61;"true" showemptytext&#61;"true" allowmovecolumn&#61;"false" emptytext&#61;"抱歉&#xff0c;没有找到符合您搜索条件的数据"showsummaryrow&#61;"true" οnlοad&#61;"onGridLoad"><%&#61;sb.ToString() %>div>

 

Json格式注意 context.Response.Write("{\"total\":" &#43; total &#43; sbSummay &#43; " ,\"data\":" &#43; Common.Class.JsonHelper.DataTable2Json(SourceTable) &#43; "}");

页面加载速度&#xff1a;

 

 

使用结果来看&#xff1a;

  优点&#xff1a; 在功能、编码上和JqueryEasyUI大同小异&#xff0c;但加载速递比easyui快

  缺点&#xff1a;加载速递要是更好些会更好 综合排名第三

 

 

方法四&#xff1a;DHTMLX

部分主要源码&#xff1a;

 

View Code

var pageIndex&#61;1;var pageSize&#61;10;$(function(){ List(pageIndex,pageSize);}); function List(pageIndex,pageSize){ if($(".pagebar").size()>0){$(".pagebar").remove();}$.ajax({type:"get",contentType:"application/json;charset&#61;utf-8",data:{mouldId:$("#ctl00_FumaHead_hidMouldID").val(),action:"normalDHTMLX",pageIndex:pageIndex,pageSize:pageSize},cache:false,url:"/Ajax/Normal.ashx",success: function(result) { if(result.length<&#61;0)return; var json &#61; eval("("&#43;result&#43;")");$("#lblList").html(json.data); dhtmlx.skin &#61; "dhx_skyblue"; new dhtmlXGridFromTable(&#39;gvList&#39;); }}); }

 

Dhtmlx Grid数据源可以是&#xff1a;XML、Json、Table等

页面加载速度&#xff1a;

 

 

使用结果来看&#xff1a;

  优点&#xff1a; 没得说 加载速度、体验性等等目前排名第一

  缺点&#xff1a;资料太少、大多数资料是英文

方法五&#xff1a;Ext.NET

部分主要源码&#xff1a;

 

View Code

"vpNormal" runat&#61;"server" Layout&#61;"FitLayout">"pnNormal" runat&#61;"server" Border&#61;"false">"Toolbar1" runat&#61;"server">"btnTopAdd" runat&#61;"server" Text&#61;"新建" Icon&#61;"Add" />"btnTopOpen" runat&#61;"server" Text&#61;"打开" Icon&#61;"FolderUp" />"btnTopEdit" runat&#61;"server" Text&#61;"编辑" Icon&#61;"FolderEdit" />"btnTopDelete" runat&#61;"server" Text&#61;"删除" Icon&#61;"Delete" />"server" Text&#61;"打印" Icon&#61;"Printer">

"Menu0" runat&#61;"server">"btnTopPrintTemp" runat&#61;"server" Icon&#61;"PrinterColor" Text&#61;"设置打印模板" />"btnTopPrinList" runat&#61;"server" Icon&#61;"PrinterMono" Text&#61;"报表列表" />"btnTopPrinPerson" runat&#61;"server" Icon&#61;"PrinterEmpty" Text&#61;"个人分组" />"server" Text&#61;"关联" Icon&#61;"Link">"Menu1" runat&#61;"server">"btnLink" runat&#61;"server" Icon&#61;"LinkAdd" Text&#61;"关联" />"server" Text&#61;"导出Excel" Icon&#61;"PageWhiteExcel">"server" ID&#61;"Menu2">"btnExcel" runat&#61;"server" Icon&#61;"PageWhiteExcel" Text&#61;"按选择列导出" />"server" Text&#61;"历史" Icon&#61;"Pencil">"server" ID&#61;"Menu3">"btnHistory" runat&#61;"server" Icon&#61;"PencilGo" Text&#61;"修改历史" />"server" Text&#61;"自定义" Icon&#61;"Wrench">"server" ID&#61;"Menu4">"btnWrench" runat&#61;"server" Icon&#61;"WrenchOrange" Text&#61;"模块设置" />"btnTopHelp" runat&#61;"server" Text&#61;"帮助" Icon&#61;"Help" />"btnTopClose" runat&#61;"server" Text&#61;"关闭" Icon&#61;"Stop" />"blNormal" runat&#61;"server"><%-- 搜索--%>"10" MaxWidth&#61;"500" Split&#61;"true" CollapseMode&#61;"Mini">"server" Width&#61;"280" Frame&#61;"true" ID&#61;"tpnlSelect">"server" AutoScroll&#61;"true" Title&#61;"查询" Padding&#61;"6" ID&#61;"pnlSelect">"server" Html&#61;"按下面任何标准进行搜索" />"server" Border&#61;"false" Padding&#61;"6">"false" runat&#61;"server" LabelWidth&#61;"70" ID&#61;"pnlSearch">"100%" runat&#61;"server" LabelAlign&#61;"Top" FieldLabel&#61;"关键字">"txtKeyWord" EmptyText&#61;"关键字" LabelAlign&#61;"Top" runat&#61;"server" Width&#61;"140" />"server" FieldLabel&#61;"在这儿查找">"server" Width&#61;"140" ID&#61;"mcbSelect" EmptyText&#61;"请选择寻找范围" SelectionMode&#61;"Checkbox">"server" FieldLabel&#61;"精确查找">"chkExactMatch" runat&#61;"server" FieldLabel&#61;"精确查找">"pnlHighSearch" runat&#61;"server" Title&#61;"更多高级选项" FormGroup&#61;"true" Visible&#61;"false" />"btmReset" Type&#61;"Reset" runat&#61;"server" Text&#61;"清 空">"btmReset_Click" />"btnSearch" runat&#61;"server" Text&#61;"搜 索">"BtnSearch_Click" /><%--主页--%>
"TabPanel2" runat&#61;"server" Frame&#61;"true"><%--列表显示--%>"Panel8" runat&#61;"server" Title&#61;"列表显示">"BorderLayout2" runat&#61;"server">
"Panel9" runat&#61;"server" Layout&#61;"FitLayout" Frame&#61;"true">"server" ID&#61;"gpMain" StoreID&#61;"stMain" StripeRows&#61;"true" TrackMouseOver&#61;"true">"ColumnModel1" runat&#61;"server">"true" />"PgbListMain" runat&#61;"server" PageSize&#61;"50" StoreID&#61;"stMain">"lblSearchTime" runat&#61;"server">"true" />
"true" CollapseMode&#61;"Mini">"pnlSouth" runat&#61;"server" Height&#61;"230" Visible&#61;"false" Frame&#61;"true">

 

页面加载速度&#xff1a;

 

 

使用结果来看&#xff1a;

  优点&#xff1a;个人看法&#xff1a;和asp.net一样

  缺点&#xff1a;速度上要再提高&#xff0c;生成页面带了大量html  当然如果你的数据量不大可以考虑ext.net

 

 

 

通过上面的比较不难发现DHTMLX胜出其次是自己动态拼凑的页面&#xff0c;miniui、ext不分伯仲&#xff0c;当然了具体问题还要具体分析。

 

 

 部分demo

 

转:https://www.cnblogs.com/PEPE/archive/2012/10/25/2738368.html



推荐阅读
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • 当unique验证运到图片上传时
    2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
author-avatar
wwhh47123_829
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有