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

相关文章

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje