`
littie1987
  • 浏览: 133393 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

smartgwt学习

 
阅读更多

  1.  SelectItem:setOptionCriteria(Criteria criteria).这个方法将调用dataSource的fetch操作获取数据

  2.  ListGrid:  fetchData(Criteria criteria):利用dataSource的fetch操作获取数据。getCellCSSText():设置单元格          的样式。

  3.  DynamicForm: form.editRecord(Record record) 将表单的值设置为record的相应值。并且form的savaData()          将调用的是dataSource的update操作,而不是add操作。

 

  4.   fetchData和filterData方法具有相似的功能,不同的是是取值的方法不同。就是在关于是否不顾大小写,或者只匹配开        始字符串方面有差别。

 

调出ListGrid的搜索行:

    setShowFilterEditor(boolean show).true表示显示,false表示hidden。默认是null。

所以一般这个方法这么使用:setShowFilterEditor(this.getShowFilterEditor==null? true:!this.getShowFilterEditor());

    调出搜索行之后整个listGrid的高度需要增加一行,可以这么写:

 

if(this.getShowFilterEditor()){
    setHeight(this.getHeight()+this.getCellHeight());
}

 

 表单验证:

    textItem.setValidators(Validator... validator);

   比如现在设置一个正则表达式的验证器:

RegExpValidator validator = new RegExpValidator();
validator.setErrorMessage("请输入数字。。");
validator.setExpression("^[0-9]");

RadioGroupItem

    RadioGroupItem group = new RadioGroupItem("name","title");
    LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();
    map.put("1",“已开通”);
    map.put("2",“已锁定”);
    group.setValueMap(map);
    group.setVertical(true);//如果为true,那么就垂直显示

form相关  

    1.DynamicForm 有一个saveData(DSCallback back,DSRequest request);第一个参数是回调方法,第二个参数是request对象。当使用saveData方法的时候,不必显示传入要提交的参数,gwt会自动将form里定义的字段提交,如果你想额外传入参数可以设置到request里面。

    调用form的saveData方法,系统会自动去调用form里datasource里的update操作,应特别注意不是使用的add操作。

    editRecord(Record record);这句代码的意思是根据传入进来的record来更新表单的值。也就是表单数据的回显。

 

    getValuesAsCriteria();--根据表单字段的值得到查询条件对象Criteria。并且所有空字段将不会被包括到条件里。这个对于查询表单很有用。


TreeGrid使用

        DataSource employeeDS = EmployeeXmlDS.getInstance();  
  
        final TreeGrid treeGrid = new TreeGrid();  
        treeGrid.setLoadDataOnDemand(false);  
        treeGrid.setWidth(500);  
        treeGrid.setHeight(400);  
        treeGrid.setDataSource(employeeDS);  
        treeGrid.setNodeIcon("icons/16/person.png");  
        treeGrid.setFolderIcon("icons/16/person.png");  
        treeGrid.setShowOpenIcons(false);  
        treeGrid.setShowDropIcons(false);  
        treeGrid.setClosedIconSuffix("");  
        treeGrid.setAutoFetchData(true);  
  
  
        TreeGridField field = new TreeGridField();  
        field.setName("Name");  
        field.setCellFormatter(new CellFormatter() {  
            public String format(Object value, ListGridRecord record, int rowNum, int colNum) {  
                return record.getAttribute("Job") + ": " + value;  
            }  
        });  
  
        treeGrid.setFields(field);  
  
        treeGrid.addDataArrivedHandler(new DataArrivedHandler() {  
            public void onDataArrived(DataArrivedEvent event) {  
                treeGrid.getData().openAll();  
            }  
        });  
  
        treeGrid.draw();  
    }  
 

 

   上面一段是google的showcase里面的,其中setShowOpenIcons(Boolean show)如果设置为true,就表示在打开树节点的时候,将显示不同的图标,这个图标是可以通过openIconStuff属性进行设置的。

 

   addDataArrivedHandler是当数据加载完之后会调用,上面的代码是在数据加载完之后打开所有的节点。

  同时,也可以设置多个TreeGridField。

  Treegrid的datasource必须有一个foreignKey,和一个rootValue.

        DataSourceIntegerField reportsToField = new DataSourceIntegerField("ReportsTo", "Manager");  
        reportsToField.setRequired(true);  
        reportsToField.setForeignKey(id + ".EmployeeId");  
        reportsToField.setRootValue("1");  

   1.关于TreeGrid还有一个重点:就是titleField,就是在前台显示给用户看的字段,我们可以手动通过setTitleField(String name)来进行设置,如果没有设置gwt回寻找像"title","label","name","id"这些名称,如果这些都没有,那么就选用第一个字段作为显示字段。

 

  2.Tree data = treeGrid.getData();--得到所有的数据

  3.TreeNode rootNode = data.getRoot();--得到根节点,注意根节点是系统内部默认的一个最高节点,不是通常所看到的顶点。

  4.TreeNode[] nodes = data.getChildren(TreeNode node);---根据父节点,得到所有的子节点。

  5.data.openFolders(TreeNode[] parentNodes)---打开传入父节点的子节点目录。

  6.setLoadDataOnDemand(true);默认是true.也就是说所有节点并不会全部在第一时间加载,而是在点击事件触发之后才会陆续加载,相当于一种缓存机制。

  7.如果要显示树形菜单之间的连接线 可以使用setShowConnector(true);进行设置。

  8.提供本地数据:利用TreeGrid的setData(Tree data)或setRoot(Tree data)方法。如果setModelType(TreeModelType.PARENT)那么就是用Tree对象的setData()而如果是CHIIDREN那么就使用setRoot().而且这两种方式组织数据的格式稍有差别。他们都需要为TreeGrid树提供一个Tree类型的数据,而Tree又需要一个TreeNode的对象数组,所以最好new一个class 继承自TreeNode,提供相应属性的setAttribute(String pro,String val)方法。

    当创建Tree对象有几个方法是必须设置的:(1):setModelType(TreeModelType model)

    (2):setNameProperty(String name);设置树节点的一个唯一的名字,方便路径查找根节点。

    (3):setIdField(String id)--设置列表的id值,目的是为了外键引用的

    (4):setParentIdField(String parentId)--设置外键

9.设置图片

employeeTree.setNodeIcon("icons/16/person.png");  
employeeTree.setFolderIcon("icons/16/person.png");  
分享到:
评论

相关推荐

    SmartGwt学习文档

    在SmartGwt的学习过程中,首先需要理解GWT的基本概念。GWT是一个开源工具,允许开发者使用Java语言编写前端代码,然后自动编译为高效的JavaScript。GWT提供了编译器、API和开发工具,使得开发者可以在Java环境中进行...

    smartGwt学习笔记

    在SmartGWT的学习和开发过程中,经常会遇到各种挑战和问题,比如本文提到的“分页问题GridPager”。SmartGwt是一个强大的Java库,用于构建基于Web的用户界面,它提供了丰富的组件,包括ListGrid,一个功能强大的表格...

    smartgwt官方实例

    这个官方实例是学习和理解SmartGWT功能和用法的宝贵资源,尤其适合自学者。"Showcase"通常指的是一个展示各种组件、特性和功能的集合,让我们深入探讨一下这个实例能提供哪些知识点。 1. **SmartGWT组件**:Smart...

    SmartGWT2.0 API

    `SmartGWT 2.0 API.zip` 文件可能包含了详细的API参考手册,这对于开发者深入学习和掌握SmartGWT的用法非常有帮助。 总的来说,SmartGWT 2.0 API 是一个强大的工具,它的出现使得GWT开发者能够快速创建出美观且功能...

    基于Maven的SmartGWT项目示例

    在"基于Maven的SmartGWT项目示例"教程中,你将学习如何设置和运行这个项目,以及如何使用SmartGWT组件来构建用户界面。此外,还会了解到如何利用Maven的命令行工具进行编译、测试和部署。通过实践这个项目,开发者...

    smartGWT 3.1 最新版本

    SmartGWT 3.1 是一个先进的Java框架,专门用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这个最新版本提供了丰富的功能和组件,旨在帮助开发者高效地开发出交互性强、用户体验优秀的Web应用。...

    smartGWT最新zip

    开发者可以通过这些示例学习如何使用SmartGWT的各种组件,如表格、树形视图、图表、表单等,以及如何进行数据绑定和事件处理。通过这些实例,可以快速掌握SmartGWT的基本使用方法和设计模式。 此外,SmartGWT支持...

    smartgwt2.4 最新发布

    SmartGWT 2.4 是一个强大的开源框架,主要用于构建企业级的富互联网应用程序(Rich Internet Applications,简称RIA)。这个框架基于Google Web Toolkit (GWT) 并且扩展了其功能,提供了丰富的组件库和高级特性,...

    smartgwt + spring + hibernate

    SmartGWT + Spring + Hibernate 是一个常见的企业级应用开发组合,它们各自在Web应用程序开发中扮演着重要角色。SmartGWT是基于GWT(Google Web Toolkit)的一个强大的UI库,提供丰富的用户界面组件和高性能的...

    smartGWT

    "SmartGWT"是一个强大的Java库,用于构建企业级的Web应用程序。它基于Google Web Toolkit (GWT) 并提供了一系列高级组件和功能,旨在简化开发过程,提高开发效率。SmartGWT尤其适合那些需要创建数据密集型、交互性强...

    SmartGwt 之原生 Desktop(与gxt无关)

    《SmartGwt 原生 Desktop 深度解析》 SmartGwt 是一款基于 Java 的开源库,它为开发人员...在实际开发中,我们应该充分利用 SmartGwt 提供的各种 API 和工具,结合源码学习,不断提升我们的编程技巧和应用设计水平。

    smartgwt最新版本GWT的DEMO

    在这个"smartgwt最新版本GWT的DEMO"中,我们可以深入学习SmartGWT如何与GWT结合,创建功能强大的Web应用。 Google Web Toolkit (GWT) 是一个由Google开发的开放源代码Java SDK,它允许开发者使用Java语言编写客户端...

    smartgwt 分页grid

    通过分析和学习这个示例,你可以更好地理解如何在实际项目中实现自定义的SmartGWT分页Grid组件。 总的来说,SmartGWT的Grid组件结合其强大的分页功能,使得开发者能够高效地管理和展示大量数据,同时提供优秀的用户...

    smartgwt-2.5.zip

    9. **文档和社区**:SmartGWT拥有详细的API文档和活跃的开发者社区,为学习和解决问题提供了便利。 在解压"smartgwt-2.5.zip"后,你会得到SmartGWT库的源代码、示例项目、API文档以及其他必要的资源。通过研究这些...

    smartGwt、spring、Mybatis整合

    本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...

    SmartGwt / Grails 开发的配置图文

    在IT行业中,开发高效、用户友好的Web应用是一项挑战,而SmartGWT和Grails框架的结合使用可以简化这一过程。这两个技术都是为了提高开发效率和产品质量,它们各自有着独特的优点,并且可以协同工作,为开发者提供...

    SmartGWT 2.0 API.zip

    SmartGWT是一个强大的Java库,专门用于构建富互联网应用程序(RIA)。它基于Google Web Toolkit ...虽然这个版本相对较旧,但它仍能为初学者提供基础的GWT和SmartGWT实践经验,为进一步学习更新的版本打下坚实基础。

    SmartGWTEE1.2 API

    SmartGWT API是SmartGWT框架的核心部分,这个框架是基于Google Web Toolkit (GWT)的扩展,旨在简化开发人员在Java环境中创建富互联网应用的过程。 1. **SmartGWT介绍** SmartGWT是一个开源的Java库,它为GWT提供了...

    一个smart+struts2的例子

    总的来说,这个例子旨在帮助学习者理解如何将SmartGWT的富客户端功能与Struts2的服务器端控制能力相结合,以构建高效、互动的Web应用。通过深入研究这个示例,开发者可以学习到如何在实际项目中整合这两个框架,提升...

Global site tag (gtag.js) - Google Analytics