SmartGwt中ListGrid可以通过扩展各种方法来扩展ListGrid表格的特性,通过扩展creatRecordComponents()方法可以在某个单元格上扩展为ImgButton或者Img等,通过扩展为Label可以实现SmartGwt中的提示Hint的效果(SmartGwt默认单元格上是无法使用hint信息的,虽然有setPromt("")方法,但是不起作用。)如下代码所示,就是在单元格上放了ImgButton
- public void onModuleLoad() {
-
- final ListGrid countryGrid = new ListGrid() {
- @Override
- protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {
-
- String fieldName = this.getFieldName(colNum);
-
- if (fieldName.equals("iconField")) {
- HLayout recordCanvas = new HLayout(3);
- recordCanvas.setHeight(22);
- recordCanvas.setAlign(Alignment.CENTER);
- ImgButton editImg = new ImgButton();
- editImg.setShowDown(false);
- editImg.setShowRollOver(false);
- editImg.setLayoutAlign(Alignment.CENTER);
- editImg.setSrc("silk/comment_edit.png");
- editImg.setPrompt("Edit Comments");
- editImg.setHeight(16);
- editImg.setWidth(16);
- editImg.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- SC.say("Edit Comment Icon Clicked for country : " + record.getAttribute("countryName"));
- }
- });
-
- ImgButton chartImg = new ImgButton();
- chartImg.setShowDown(false);
- chartImg.setShowRollOver(false);
- chartImg.setAlign(Alignment.CENTER);
- chartImg.setSrc("silk/chart_bar.png");
- chartImg.setPrompt("View Chart");
- chartImg.setHeight(16);
- chartImg.setWidth(16);
- chartImg.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- SC.say("Chart Icon Clicked for country : " + record.getAttribute("countryName"));
- }
- });
-
- recordCanvas.addMember(editImg);
- recordCanvas.addMember(chartImg);
- return recordCanvas;
- } else if (fieldName.equals("buttonField")) {
- IButton button = new IButton();
- button.setHeight(18);
- button.setWidth(65);
- button.setIcon("flags/16/" + record.getAttribute("countryCode") + ".png");
- button.setTitle("Info");
- button.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- SC.say(record.getAttribute("countryName") + " info button clicked.");
- }
- });
- return button;
- } else {
- return null;
- }
-
- }
- };
分享到:
相关推荐
SmartGWT是基于Google Web Toolkit (GWT) 的扩展,它提供了丰富的用户界面组件和高级功能,旨在简化开发人员的工作流程,提高Web应用的用户体验。 1. **SmartGWT概述** - SmartGWT是一个开源项目,由Intersystems...
SmartGWT开发通常在Eclipse中进行,因为它提供了对GWT的内置支持。安装完成后,启动Eclipse并安装GWT插件。这可以通过Eclipse的"Help" > "Eclipse Marketplace"菜单完成,搜索“Google Plugin for Eclipse”并按照...
在实际开发中,SmartGWT 3.1不仅提供了强大的工具集,还鼓励开发者通过继承和扩展已有组件来创建自定义控件,以满足特定项目需求。同时,框架还支持MVP(Model-View-Presenter)架构模式,有助于实现清晰的代码组织...
SmartGWT API是SmartGWT框架的核心部分,这个框架是基于Google Web Toolkit (GWT)的扩展,旨在简化开发人员在Java环境中创建富互联网应用的过程。 1. **SmartGWT介绍** SmartGWT是一个开源的Java库,它为GWT提供了...
3. 将Struts2的Result返回到SmartGWT的视图组件,如设置一个SmartGWT的ListGrid显示从服务器获取的数据。 4. 利用SmartGWT的事件监听机制,实现用户交互时的异步请求,更新视图或者向服务器发送数据。 5. 可能还涉及...
在"TestSmartGWT"这个DEMO中,可能会使用SmartGWT库,它是GWT的一个扩展,提供了更丰富的组件和更高级的功能。例如,SmartGWT提供了`ListGrid`,这是一个强大的表格组件,可以实现复杂的表格操作。此外,`DataSource...