`
dellsoft
  • 浏览: 113300 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

grails +zkoss 开发总结

阅读更多

zk component develop

一、)java 类及方法 1)先开发一个服务器端的组件,通常是继承 abstractComponent ,如果是html 类型的组件,继承HtmlBaseComponent 就可以了。

2)如果需要一个widget需要通知服务器端组件,需要在服务器端的component上注册Client Event http://docs.zkoss.org/wiki/Synchronize_States addClientEvent(Button.class, Events.ON_FOCUS, 0); 3)在服务器端component 上调用客户端widget事件, 用response(event,message) http://docs.zkoss.org/wiki/Invoke_Client_Special_Functions

 

二、)js文件 js 中的 $init 是widget的初始化方法 $define 就是定义widget 的get|set 方法 三、 获取单击单元格对应的列

<zk><zscript></zscript><listbox id="listbox" width="200px"><listhead><listheader label="col1"></listheader><listheader label="col2"></listheader></listhead><listitem><listcell label="a1" onclick="showColumn(self)"></listcell><listcell label="a2" onclick="showColumn(self)"></listcell></listitem><listitem><listcell label="b1" onclick="showColumn(self)"></listcell><listcell label="b2" onclick="showColumn(self)"></listcell></listitem></listbox></zk> listbox grid tree 介绍 http://docs.zkoss.org/wiki/Grids,_Trees_and_Listbox 组件开发向导 http://docs.zkoss.org/wiki/ZK_5.0_Component_Imagepicker

 

 

1 、对于给组件设置menupopup 不起作用的情况 Menupopup menupopup = new Menupopup() menupopup.appenChildren(new Menuitem("a") Grid grid = new Grid() grid.setContext(menupop) 注意:需要 menupop.setParent(grid) // 这个方法需要注意,不是所有的Component都支持Menupopup 也就是说 上下文菜单也需要在 html 中存在,然后,才显示 因为所有的内容都是以html为准备,所以任何组件都必须在html的上下文中存在。

 

2 、设置组件为灰色 yourTextbox.setReadonly(false); yourListbox.setDisabled(false); yourCheckbox.setDisabled(false);

 

3 、对于 Listbox & Grid 的增加和删除,可以通过对他们的Model进行 Add |Remove Listbox.getModel().add(new Object) Listbox.getModel().remove(Object)

 

4 、对于Domain,必须有一个为一个Id 主键,来确保CRUD的一致性 (也可以不要,不过,需要在 listbox 加一个隐藏列来处理)

 

5 、组件的方法复用 A 组件的onClick 方法是用 B 的onClick方法 --便于使用按钮和右键菜单一致的情况 ComponentsCtrl.applyForward(A, "onClick=B.onClick") ComponentsCtrl.applyForward(e.target, "onClick=tbb_pre${zymenu.bh}.onClick")

 

6、验证组件数值的合法性 Textbox.getValue()就自动触发校验

 

7、jar 打包 ,对于不能够执行 generate-domain-from-database ,需要先将对应的类打包起来 jar cvf codeg.jar -C "F:\zkoss\Panform\out\production\Panform" .

 

12、如果对表头排序,不使用默认的排序方式,而使用数据排序

 

def onSortHeaders(){ Msztsbqk msztsbqk = new Msztsbqk() listheadmsztsbqk.getChildren().each { listheader -> listheader.onSort = {Event e -> Listheader l = (Listheader) listheader if (msztsbqk.properties.containsKey(l.getId())) { if (l.getSortDirection() == "ascending") { l.setSortDirection("descending") sortTj = l.getId() + " desc" }else{ l.setSortDirection("ascending") sortTj = l.getId() + " asc" } refresh(pagingmsztsbqk.getActivePage(),sortTj) e.stopPropagation() // 不执行默认的排序方式 } // def sortTj = ?"ascending":"descending" } } }
 

 

 

13、listbox 或者grid 如果使用了ModelList 方式来展示数据,如果要排序,需要 对listbox 排序 如果是使用model ,需要实现ListModelExt 来覆写sort 或者extend ListModelList ,使用 

 

Components.sort(listbox.getItems(),cmpr); public class PanModeList extends ListModelList { private transient Listbox listbox;

public PanModeList(Listbox listbox, List list, boolean live) { super(list, live); this.listbox = listbox; } @Override public void sort(Comparator cmpr, boolean ascending) { Components.sort(listbox.getItems(),cmpr); // super.sort(cmpr, ascending); //To change body of overridden methods use File | Settings | File Templates. } }
 

 

 

然后、listbox.setModel(new PanModeList(listbox,Msqrqk.list(),false))

 

初始化一个组件 使用onCreate http://docs.zkoss.org/wiki/ZK/How-Tos/Concepts-and-Tricks#Dynamic_cursor.2Ffield-sensitiv_help_and_tooltip

0
0
分享到:
评论

相关推荐

    Grails+ZK文档

    Grails+ZK文档,Grails+ZK文档,Grails+ZK文档,Grails+ZK文档

    Grails+groovy 完整参考手册.7z

    通过阅读《Grails+groovy 完整参考手册.docx》,你可以更深入地了解这两个技术,包括它们的原理、最佳实践以及实际应用中的案例。无论你是初学者还是有经验的开发者,这份手册都将是你学习和提升技能的宝贵资源。

    Grails+快速开发+Web+应用程序.pdf

    ### Grails快速开发Web应用程序知识点解析 #### 一、Grails框架概述 - **定义**:Grails是一个基于Groovy语言构建的开源Model-View-Controller (MVC) Web开发框架。它旨在简化Web应用程序的开发流程,提高开发效率...

    grails+Xfire webservice

    grails+Xfire webservice

    Grails+Apache構築手順

    Grails+Apache構築手順 apache配置手順 tomcat配置手順

    Grails + Spring Security 权限控制

    Grails是一个基于Groovy语言的全栈式、敏捷的Web应用框架,它简化了Java开发流程,提供了丰富的插件生态系统。Spring Security,原名Acegi Security,是Spring框架的一个扩展,用于提供身份验证和授权服务,适用于...

    The+Definitive+Guide+to+Grails+Second+Edition

    Grails 是一个基于 Groovy 的开源 Web 开发框架,它融合了 Java 的强大功能和动态语言的灵活性,为开发者提供了一种高效、简洁的方式来构建复杂的 Web 应用程序。 ### 书籍概述 本书全面覆盖了 Grails 框架的各个...

    grails_blog:Grails + MongoDB 博客

    Grails 是一个基于 Groovy 语言的全栈式开发框架,而 MongoDB 是一种流行的NoSQL数据库系统,以JSON格式存储数据,适合大数据量、高并发的场景。 首先,Grails 框架的核心特性包括 MVC(Model-View-Controller)...

    todo:Grails + angularjs

    Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程,提供了MVC架构,使得开发快速且高效。其特点是自动化的代码生成、强大的插件系统和灵活的数据持久层支持。在与AngularJS集成时,Grails可以...

    grails login

    Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户权限的管理。本示例将详细...

    TOO-115:东正教组织ProecectologíasOrientadas a Objetos,desarrollado en Grails + Oracle

    工具115 Proyecto para la MateriaTecnologíasOrientadas a Objetos,desarrollado en Grails + Oracle

    grails-2.4.2开发包

    **Grails 2.4.2 开发框架详解** Grails是一种高效且强大的开源Web应用程序框架,它在软件开发领域中扮演着重要角色。这款框架的设计理念是提高开发者的生产力,通过简化常见的开发任务,让开发者能够专注于业务逻辑...

    grails快速开发web

    ### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    总结,Grails框架及其中文文档为开发者提供了强大的工具和丰富的资源,而FCKEditor插件则进一步增强了Grails在富文本编辑方面的功能。通过深入学习和实践,我们可以充分利用这些工具,提高开发效率,打造功能完善的...

    GRAILS课程学习记录总结

    Grails 是一个高效的开源 Web 应用框架,它集成了 Java 开发中广泛使用的成熟技术,如 Spring 和 Hibernate。然而,Grails 不仅仅是对这些技术的简单组合,它提供了一种全新的开发体验。通过执行 `grails create-app...

    Grails——web开发应用

    Grails 采用了敏捷开发的思想,遵循“约定优于配置”(Convention Over Configuration)和“不要重复自己”(Don’t Repeat Yourself,DRY)的原则,减少了大量繁琐的配置和模板代码,提高了开发效率。Grails 集成了...

    Grails 和 jQuery开发实例

    Grails是一个基于Java平台的全栈式框架,它简化了Web应用的开发过程,而jQuery则是一款强大的JavaScript库,能够帮助我们实现高效的DOM操作、事件处理以及Ajax交互。 首先,Grails的MVC架构使得开发者可以快速搭建...

    grails敏捷开发

    **Grails 敏捷开发** Grails 是一个基于 Groovy 语言的开源Web应用框架,设计用于快速开发、高效构建动态、敏捷的Web应用程序。它借鉴了Ruby on Rails的许多优秀理念,同时提供了Java平台的强大功能和兼容性。在...

Global site tag (gtag.js) - Google Analytics