`
fengzhizi715
  • 浏览: 161646 次
  • 性别: Icon_minigender_1
  • 来自: 上海 苏州
社区版块
存档分类
最新评论

使用grails ui实现柱状图

阅读更多
grails ui的插件功能众多,可以完成很多效果比如bar图、柱状图、拖拽、菜单、richEditor文本编辑等等。
我的目的是使用该插件实现柱状图,hql语句如下:
def hql ="select p.sellTime,sum(p.pureProfits) from Profit p where p.sellTime >= current_date()-7 and p.sellTime <= current_date() group by p.sellTime"

然后得到resultList:def resultList = Profit.executeQuery(hql)
我要在action中将resultList直接传到页面上:[profitChartList: resultList]
这样的做法导致,页面读取不到数据。
因为<gui:columnChart>标签中data属性存放的是一个二维数组。我们需要将resultList的结果改造成二维数组。做法如下:
        def dataList = []
        resultList.each { s->
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd")
            def dateStr = sdf.format(s[0])
            def bar = ['date': dateStr, 'pureProfit':s[1]]
            dataList << bar
        }

这里有必要贴出领域模型Profit类的代码:
class Profit {
    BigDecimal pureProfits //每次卖出商品的纯利润
    Date sellTime
}

我们看到sellTime是Date型的,但是在<gui:columnChart>标签中显示不出Date型的值,因此我把它转成String类型存放到数组中。

至此,该action已经完成,完整代码如下:
    def weekColumnChar ={
        def hql ="select p.sellTime,sum(p.pureProfits) from Profit p where p.sellTime >= current_date()-7 and p.sellTime <= current_date() group by p.sellTime"
        def resultList = Profit.executeQuery(hql)
        def dataList = []
        resultList.each { s->
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd")
            def dateStr = sdf.format(s[0])
            def bar = ['date':dateStr, 'pureProfit':s[1]]
            dataList << bar
        }
        [profitChartList: dataList]
    }


前台gsp页面如下:
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <meta name="layout" content="main" />
        <title>最近七天利润柱状图</title>
    <gui:resources components="['chart']" mode='debug'/>
</head>

<body class='yui-skin-sam'>
    <div class="nav">
        <span class="menuButton"><g:link class="home" controller="management" action="main">返回主菜单</g:link></span>
    </div>

    <div class="body">

        <h1>最近七天利润柱状图</h1>
        <div id='columnChart' style="width:600px; height: 300px"></div>

        <gui:columnChart
            id='myColChart'
            renderTo="columnChart"
            data="${profitChartList}"
            seriesDefs="[
            [
            pureProfit:'The pure profit',
            style:[
            image: 'images/tube.png',
            mode: 'no-repeat',
            color: 0xc2d81e,
            size: 40
            ]
            ]
            ]"
            style="[
            border: [color: 0x96acb4, size: 12],
            font: [name: 'Arial Black', size: 14, color: 0x586b71],
            dataTip:
            [
            border: [color: 0x2e434d, size: 2],
            font: [name: 'Arial Black', size: 13, color: 0x586b71]
            ],
            xAxis:
            [
            color: 0x2e434d
            ],
            yAxis:
            [
            color: 0x2e434d,
            majorTicks: [color: 0x2e434d, length: 4],
            minorTicks: [color: 0x2e434d, length: 2],
            majorGridLines: [size: 0]
            ]
            ]"
            />
    </div>
</body>
</html>


效果图如下:



实现bar状图也是同样的道理,我实现的效果图如下:




  • 大小: 29.5 KB
  • 大小: 25.9 KB
分享到:
评论
2 楼 copoplar 2009-09-24  
好贴,支持,希望继续!
1 楼 supersnake 2009-08-02  
有图有真相
代码也详细
不错的

相关推荐

    使用 Grails 快速开发 Web 应用程序

    2. **View**:Grails使用GSP(Groovy Server Pages)作为视图,类似于JSP,但更灵活,允许在页面中直接嵌入Groovy代码,实现动态内容的生成。 3. **Controller**:控制器负责处理用户请求,管理业务逻辑,接收表单...

    grails实现分页技术

    在Grails这个基于Groovy的敏捷开发框架中,实现分页功能对于任何Web应用程序都是至关重要的,特别是当处理大量数据时。Grails提供了一些内置的支持,但如果你需要在自定义的控制器和视图中实现分页,那么就需要遵循...

    Grails 下拉框联动最优实现

    总的来说,"Grails下拉框联动最优实现"涉及到的技术点包括Groovy、Grails框架、AJAX、JavaScript、JSON、DOM操作以及前端UI设计原则。通过熟练掌握这些技术,我们可以创建出高效、响应式的用户界面,提升应用的用户...

    grails-shiro-ui:Grails Shiro UI 插件

    总的来说,Grails Shiro UI 插件是Grails开发者实现应用安全的重要工具,它结合了Apache Shiro的强大功能和Grails的便利性,为开发安全、易管理的应用提供了强大支持。通过深入了解和熟练使用这个插件,开发者能够更...

    使用Grails快速开发Web应用

    - **创建应用**:使用`grails create-app Contact`命令可快速生成名为“Contact”的应用框架,该命令自动生成了标准的项目目录结构,包括但不限于`grails-app`下的`conf`、`controller`、`domain`、`i18n`、`...

    Java程序员使用Grails的十大优势

    使用Grails进行开发时,开发者可以通过定义清晰的领域类来实现业务逻辑,从而简化应用程序的复杂度。这种方式使得开发者能够更加专注于业务逻辑本身,而不是被底层的技术细节所困扰。通过领域类,可以直观地看到模型...

    Eclipse下搭建Grails项目

    - 由于Grails项目涉及GSP(Groovy Server Pages)文件,推荐使用包含JSP编辑器的Eclipse JEE版本。如果你对JSP语法熟悉且内存有限,也可选择Classic版本。 - 安装Eclipse 3.4.0 JEE版本或其他支持JSP编辑的最新...

    grails使用freemarker.rar

    标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...

    在Eclipse里使用Grails类创建工具.pdf

    在深入探讨如何在Eclipse环境中使用Grails类创建工具之前,我们先简要回顾一下Grails框架及其核心特性。Grails是一款基于Groovy语言的高性能Web应用开发框架,它遵循约定优于配置的原则,极大地简化了Web应用的开发...

    Grails Grails Grails

    2. **视图(View)**: 视图负责展示数据,通常使用GSP(Grails Server Pages)技术,这是一种结合了HTML和Groovy的模板语言,可以嵌入Groovy表达式和控制结构,实现动态内容的生成。 3. **控制器(Controller)**: ...

    使用Grails快速开发Web应用.rar

    易于使用的基于Hibernate的对象-关系映射(ORM)层称为Groovy Server Pages (GSP)的表现层技术基于Spring MVC的控制器层构建于Gant 上的命令行脚本运行环境内置Jetty服务器,不用重新启动服务器就可以进行重新加载利用...

    grails-用户手册

    这份用户手册将帮助你深入理解和高效使用Grails。 一、Grails基础 Grails的核心理念是“约定优于配置”,这意味着它有一套默认的规则和结构,减少了开发者在项目初始化阶段的工作量。例如,项目文件结构、数据库...

    SmartGwt / Grails 开发的配置图文

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

    grails快速开发web

    - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中实现 Ajax 功能、处理遗留数据库的方法、利用遗留框架以及如何在 Grails 中使用 WebFlow。 - **高效编程系列**:涵盖使用 ...

    grails 文档

    Grails 使用Gradle作为构建工具,提供自动化构建、依赖管理等功能。构建的WAR文件可部署在任何支持Servlet的容器上,如Tomcat或Jetty。 8. **单元测试与集成测试** Grails 提供了内置的测试框架,支持单元测试、...

    grails ajax

    标题"grails ajax"表明我们将探讨如何在Grails应用中有效地使用Ajax技术。Ajax允许后台与服务器进行异步数据交换,而无需重新加载整个网页。这在动态数据展示、表单提交、实时更新等场景中特别有用。 在Grails中,...

    使用GORM构建Spring Boot应用程序 Grails指南_ Grails框架.pdf

    在本教程中,我们将探讨如何使用GORM(Grails Object-Relational Mapping)构建Spring Boot应用程序。GORM是Grails框架的核心部分,它为开发者提供了简单、强大的数据持久化功能,支持Hibernate和MongoDB等数据库。...

    111D:\keke\grails指南\笔记\1111111.txt,grails 初学者,使用说明的。

    从给定的文件信息来看,主要关注点在于Grails框架的初学者使用说明。Grails是一个基于Groovy语言的开源Web应用开发框架,它利用了Java平台的优势,并结合了动态语言的灵活性,使得Web开发变得更为高效、简洁。下面将...

    Grails权威指南 Grails权威指南

    《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...

Global site tag (gtag.js) - Google Analytics