ExtJs4.1:结合现有Laz例程生成酷Grid页面

2023-11-07 09:40

本文主要是介绍ExtJs4.1:结合现有Laz例程生成酷Grid页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  安装完laz1.0之后,找到目录:
lazarus\fpc\2.6.0\source\packages\fcl-web\examples\webdata,这是演示CGI方式读取数据库中数据,并用浏览器展示的一个程序。可能它所用的ext版本比较老了吧,我试了半天都不能让他正常显示。
    这个如果能正常使用,还是蛮有意思的。我给大家讲一下怎样弄才能让它正常显示。
    先上结果图,ext弄出的效果还是很华丽的,大家可以看看他例子中各种各样炫的chart图,这也是让我花费不少时间弄这个东西的原因:

    我用的extjs是4.1。
   
    1、先编译server程序extgrid,生成一个exe程序后直接扔到apache2.2\cgi-bin目录,再把
lazarus\fpc\2.6.0\source\packages\fcl-web\examples\webdata\users.dbf这个数据库文件也扔到同一目录下。这时候,我们启动apache,然后访问以下这个url:

http://localhost/cgi-bin/extgrid.exe/read

    可以看到服务器返回json数据格式的内容:

{ "rows" : [{ "ID" : 0, "LOGIN" : "Daniel", "NAME" : "Daniel mantione", "EMAIL" : "daniel@freepascal.org", "LASTLOGIN" : null }, { "ID" : 1, "LOGIN" : "Florian", "NAME" : "Florian Klaempfl", "EMAIL" : "florian@freepascal.org", "LASTLOGIN" : null }, { "ID" : 2, "LOGIN" : "Joost", "NAME" : "Joost van der Sluis", "EMAIL" : "joost@freepascal.org", "LASTLOGIN" : null }, { "ID" : 3, "LOGIN" : "Jonas", "NAME" : "Jonas Maebe", "EMAIL" : "jonas@freepascal.org", "LASTLOGIN" : null }, { "ID" : 4, "LOGIN" : "Michael", "NAME" : "Michael van canneyt", "EMAIL" : "michael@freepascal.org", "LASTLOGIN" : null }, { "ID" : 5, "LOGIN" : "Marco", "NAME" : "Marco Van De Voort", "EMAIL" : "marco@freepascal.org", "LASTLOGIN" : null }, { "ID" : 6, "LOGIN" : "Pierre", "NAME" : "Pierre Muller", "EMAIL" : "pierre@freepascal.org", "LASTLOGIN" : null }, { "ID" : 7, "LOGIN" : "Tomas", "NAME" : "Tomas Hajny", "EMAIL" : "tomas@freepascal.org", "LASTLOGIN" : null }, { "ID" : 14, "LOGIN" : "eeedd", "NAME" : "BBBQqqq", "EMAIL" : null, "LASTLOGIN" : null }, { "ID" : 15, "LOGIN" : "AAA", "NAME" : "BBBddd", "EMAIL" : "CCC", "LASTLOGIN" : null }], "success" : true }

    我们下一步在表格中显示这些内容。

    2、下载并安装Sencha Architect 2.1,大家不要怕麻烦,这个东西还是很不错的,通过拖拽直接形成js界面,而且跨平台。缺点是30天试用期。下载地址:http://www.sencha.com/products/architect/
    下载ext js4.1,解压后,放到apache2.2\htdocs\ext目录下。

    下面用最精简的步骤说明一下页面程序的制作(我也是刚学,太复杂的还不会):
    3、启动 Architect,在欢迎界面,选择 extjs 4.1。
    然后首先ctrl+s,
 

 

  4、从左边containers类别中选panel,拖放到设计区,用panel右下角的标签来把panel拉大一些。
 



    5、从grids类别中选一个Grid Panel放到上一个panel中。
    6、选中右侧model,点“+”按钮,然后点击model。
 



    设置一下参数:选中model,下面属性列表中找到fields,点右面“+”,输入“ID”然后回车。重复以上步骤,分别增加输入:LOGIN、NAME、EMAIL、LASTLOGIN。
    7、增加一个store。选中Stores,点击右上“+”,点击store中的json store,这样,我们就新增一个store:MyJsonStore。
设置它的model属性值为刚才新增的myModel。autoload值为选中。
选中MyAjaxProxy,设置url值为:/cgi-bin/extgrid.exe/read。这值就是刚才我们访问服务器的url。
选中MyJsonReader,设置root值为:rows。这值可以从前面服务器的返回json值中找到。
    8、选中My Grid Panel,设置它的store值为MyJsonStore,以及他的autoRender也需要选中。
右击MyJsonStore,点auto columns。
 



    9、这样基本完成了。发布之前需要设置一下:
 

   并且需要修改一下userdemo目录下的app.html文件:

<!DOCTYPE html>
<!-- Auto Generated with Sencha Architect -->
<!-- Modifications to this file will be overwritten. -->
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>userdemo</title>
    <script src="/ext/ext-all.js"></script>
    <link rel="stylesheet" href="/ext/resources/css/ext-all.css">
    <script type="text/javascript" src="app.js?_dc=1355293924909"></script>
</head>
<body></body>
</html>

    这个可能是程序的bug吧,每次保存修改后,发布预览都需要改一下这个文件。

    现在浏览  http://localhost/demo/app.html  就可以看到效果了。

    感觉extjs搭配lazarus开发b/s应用还是很不错的,不像php、asp,一大堆html和script混在一起,头都大了。用我们熟悉的pascal语言进行后台操作,用extjs制作华丽的前台页面,这种搭配应该说是比较理想。特别是laz可以开发Fast-cgi程序,效率应该说有很大的提高,不过现在我不清楚这种方式与php和asp相比效率如何,有待验证。

    这个小文算是抛砖引玉,欢迎大家交流,共同提高。





这篇关于ExtJs4.1:结合现有Laz例程生成酷Grid页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362783

相关文章

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

Python结合Free Spire.PDF for Python实现PDF页面旋转

《Python结合FreeSpire.PDFforPython实现PDF页面旋转》在日常办公或文档处理中,我们经常会遇到PDF页面方向错误的问题,本文将分享如何用Python结合FreeSpir... 目录基础实现:单页PDF精准旋转完整代码代码解析进阶操作:覆盖多场景旋转需求1. 旋转指定角度(90/27

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

使用Python实现在PDF中添加、导入、复制、移动与删除页面

《使用Python实现在PDF中添加、导入、复制、移动与删除页面》在日常办公和自动化任务中,我们经常需要对PDF文件进行页面级的编辑,使用Python,你可以轻松实现这些操作,而无需依赖AdobeAc... 目录1. 向 PDF 添加空白页2. 从另一个 PDF 导入页面3. 删除 PDF 中的页面4. 在

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

C#自动化生成PowerPoint(PPT)演示文稿

《C#自动化生成PowerPoint(PPT)演示文稿》在当今快节奏的商业环境中,演示文稿是信息传递和沟通的关键工具,下面我们就深入探讨如何利用C#和Spire.Presentationfor.NET... 目录环境准备与Spire.Presentation安装核心操作:添加与编辑幻灯片元素添加幻灯片文本操

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加