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 client RIA
从研发经验总结的smartGwt的开发与实现
smartgwt-1.3smartgwt-1.3smartgwt-1.3smartgwt-1.3smartgwt-1.3
SmartGWT 入门SmartGWT 入门SmartGWT 入门SmartGWT 入门SmartGWT 入门
这是smartgwt官方的实例 对自学的人非常有帮助
SmartGWT 是封装了 SmartClient 的 GWT API。SmartGWT 有如下特色: 丰富的控件。很多较为复杂的常用界面都被包装成简单易用的控件。比如可 编辑的树形表格、查询常用的过滤器创建器和类似 Google Calendar 的日历...
SmartGWT 是封装了 SmartClient 的 GWT API。而 SmartClient 是一个开源的企业级 Ajax 开发框架。 Google Web Toolkit 的发布,大大降低了 Java 开发人员进行 Web 开发的门槛。然而 GWT 本身提供的控件及功能相对...
SmartGWT最新的免费包,版本是12.0。里面包含的smartgwt.jar就是可以在项目中使用的jar包,smartgwt-skins.jar就是主题包。
在Google发布GWT2.0不久,SmartGWT 2.0也发布了,功能更强大,界面效果一流,个人感觉比GXT好用多了,尤其在大量数据处理方面有很多优势!
是那个smartgwt2.4的doc文档
基于Maven的SmartGWT项目示例,另见教程:http://blog.csdn.net/wang465745776/article/details/52583964
有关于smartgwt 开发的ppt,高级开发的应用。
smartgwt-2.0API.CHM 2009年12月18日 ... SmartGWT 2.0发布下载了
smartgwt2.4开发包 由于限制20m 小弟把doc单独分出来了
一个简单的maven项目,演示 smartgwt + spring + hibernate 整合框架
用Maven创建GWT_SmartGWT项目,从而可利用Maven进行管理,以及持续集成。
SmartGwt 4.0 的开发jar包,希望对大家有帮助,有额外需要的可以联系我
2010年8月3日制作,SmartGWT 2.2 API DOC chm版 方便的检索功能,支持全文检索
SmartGWT_Quick_Start_Guide【6.1中文版】 : 官方译文,,,用于学习smartgwt的基础。 中文译文 非google译文 比google译文准确度更高 收费翻译版本 给入门的朋友学习
代码实例,演示 smartgwt 项目如何实现国际化(测试语种:英文,中文,德文),可直接导入至 MyEclipse. Maven 版链接:http://download.csdn.net/source/3036062