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使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp