`
cuiyushan3
  • 浏览: 42264 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

wabacus中通过format将百分比数据显示成进度条样式

阅读更多
如题,通过format将百分比形式的数据改成进度条样式,实际就是把原数据替换成拼凑的html代码

其中的progress_rate列要求是百分比形式,并且其所在的col要求配置align="left".
css中还提供了其他颜色,可以根据需要更换
(注:sql语句是sql server的语法,union拼凑的)
效果如图


page配置文件如下
<!-- 百分比用css进度条显示2012-8-9 -->
<page xmlns="http://www.wabacus.com" id="progress_bar" css="/css/test.css">
	<report id="report1" title="百分比进度条显示" pagesize="10">
		<display>
			<col column="{sequence:0}" label="序号"></col>
			<col column="name" label="名称"></col>
			<col column="progress_rate" label="进度" align="left"></col>
		</display>
		<sql>
			<value>
				<![CDATA[
					select 'a' as name ,'20%' as progress_rate union
					select 'b' as name ,'40%' as progress_rate union
					select 'c' as name ,'50%' as progress_rate union
					select 'd' as name ,'80%' as progress_rate union
					select 'e' as name ,'100%' as progress_rate order by name
				]]>
			</value>
		</sql>
		<format>
			<value>
			<![CDATA[
				progress_rate=progress_rate==null?"0":progress_rate.trim();
				if(Double.parseDouble(progress_rate.substring(0, progress_rate.indexOf('%')))>50)//如果大于50% 显示skin-green
				progress_rate="<div class=\"process-bar skin-green\"><div class=\"pb-wrapper\"><div class=\"pb-highlight\"></div><div class=\"pb-container\"><div class=\"pb-text\">"+progress_rate+"</div><div class=\"pb-value\" style=\"width:"+progress_rate+"\" ></div></div></div></div>";
				//小于50%显示skin-orange
				else progress_rate="<div class=\"process-bar skin-orange\"><div class=\"pb-wrapper\"><div class=\"pb-highlight\"></div><div class=\"pb-container\"><div class=\"pb-text\">"+progress_rate+"</div><div class=\"pb-value\" style=\"width:"+progress_rate+"\" ></div></div></div></div>";
				//System.out.println(progress_rate);
			]]>
		  </value>
		</format>
	</report>
</page>


其中的css内容为
@CHARSET "UTF-8";
/* progress_bar begin */
.process-bar {
        width: 100%;
        display: inline-block;
        *zoom: 1;
}

.pb-wrapper {
        border: 0px solid gray;
        border-style: solid none;
        position: relative;
        background: #cfd0d2;
}

.pb-container {
        border: 0px solid gray;
        border-style: none solid;
        height: 18px;
        position: relative;
        left: 0px;
        margin-right: 0px;
        padding: 1px;
}

.pb-highlight {
        position: absolute;
        left: 0;
        top: 0;
        _top: 1px;
        width: 100%;
        opacity: 0.6;
        filter: alpha(opacity = 60);
        height: 6px;
        background: white;
        line-height: 0;
        z-index: 1
}

.pb-text {
        width: 100%;
        position: absolute;
        left: 0;
        top: 2;
        text-align: center;
}

.pb-value {
        height: 100%;
        background: #19d73d;
}

.pb-text {
        color: black;
}

.skin-green .pb-wrapper {
        border-color: #666;
        border-top-color: #628c2d;
}

.skin-green .pb-container {
        border-color: #666;
        border-left-color: #628c2d;
}

.skin-green .pb-text {
        color: black
}

.skin-blue .pb-wrapper {
        border-color: #0e7c78;
        border-top-color: #41beb9;
}

.skin-blue .pb-container {
        border-color: #0e7c78;
        border-left-color: #41beb9;
}

.skin-blue .pb-text {
        color: white
}

.skin-blue .pb-value {
        background: #159b96;
}

.skin-red .pb-wrapper {
        border-color: #8e1411;
        border-top-color: #cb3d3a;
}

.skin-red .pb-container {
        border-color: #8e1411;
        border-left-color: #cb3d3a;
}

.skin-red .pb-text {
        color: #470200;
}

.skin-red .pb-value {
        background: #d70500
}

.skin-orange .pb-wrapper,.skin-orange .pb-container {
        border-color: #d55110;
}

.skin-orange .pb-text {
        color: #250f00;
}

.skin-orange .pb-value {
        background: #d75a00;
}

.skin-purple .pb-wrapper,.skin-purple .pb-container {
        border-color: #a90561;
}

.skin-purple .pb-text {
        color: #720040;
}

.skin-purple .pb-value {
        background: #9d118e
}

.skin-black .pb-wrapper,.skin-black .pb-container {
        border-color: black
}

.skin-black .pb-text {
        color: gray;
}

.skin-black .pb-value {
        background: #111111;
}

/* progress_bar end */
  • 大小: 6.9 KB
分享到:
评论

相关推荐

    MFC带百分比的进度条

    本篇将重点介绍如何在MFC应用中实现一个带有百分比显示的进度条,主要依赖于GDI+图形库。 GDI+是Windows系统中的一个高级图形绘制接口,它扩展了传统的GDI(Graphics Device Interface),增加了更多的图形处理功能...

    WPF百分比进度条

    本教程将详细介绍如何在WPF中创建一个具有自定义颜色、背景和百分比显示功能的进度条。 首先,我们需要在XAML布局文件中声明ProgressBar控件。在WPF中,我们可以直接在UI设计视图或者代码中添加这个控件。以下是一...

    MFC 简单,易用带百分比进度提示的进度条

    本篇文章将详细讲解如何在MFC应用中创建一个简单、易用且带有百分比进度提示的进度条,并讨论如何自定义其文本颜色和背景色。 首先,进度条控件在MFC中由`CProgressCtrl`类表示,它基于Windows API中的`ProgressBar...

    进度条彩色进度条,百分比 文字 VC++

    它允许开发者创建具有不同样式和功能的进度条,包括经典的水平进度条、自定义颜色以及显示百分比等。 要创建一个基本的进度条,你需要在对话框资源中添加一个`CProgressCtrl`控件,并为其分配一个ID。然后,在类的...

    VBA实现进度条的显示

    VBA实现进度条的显示 Sub Test() ' The UserForm1_Activate sub calls Main UserForm1.LabelProgress.Width = 0 UserForm1.Show End Sub Private Sub UserForm_activate() Call Main End Sub Sub Main() ' ...

    Android百分比进度条

    在Android开发中,为了提供用户友好的界面反馈,我们经常需要使用进度条来显示任务的完成状态,例如文件下载、数据加载等。本教程将详细讲解如何创建一个带有百分比显示的进度条,以实现更直观的用户体验。该示例...

    安卓进度条loadingprogress相关-实现百分数进度条控制.rar

    本压缩包文件"安卓进度条loadingprogress相关-实现百分数进度条控制.rar"提供了关于如何在Android中实现百分比形式的进度条控制的示例代码。 百分比进度条通常由两部分组成:一是进度条本身,显示进度的可视化效果...

    Android 满圆水平显示进度条

    "满圆水平显示进度条"就是一个这样的组件,它不仅能够直观地表示进度,还能通过百分比显示和动态变化增加用户体验。下面将详细解释如何实现这样一个组件。 首先,我们了解"满圆"的概念。在Android中,"满圆"通常指...

    GIF进度条(多种样式)

    它向用户显示了某个操作或数据加载的进度,增加了用户对系统状态的理解,从而提升了交互体验。本资源包名为“GIF进度条(多种样式)”,显然是提供了一系列不同设计风格的GIF格式进度条,供设计师或开发者选择和使用...

    MFC带文字的进度条

    例如,如果你想显示“正在处理数据”的信息,并将进度条设置为30%,你可以这样做: ```cpp m_progressBar.SetPos(30); // 设置进度 m_textLabel.SetWindowTextW(L"正在处理数据"); // 设置文字 ``` 如果你想动态...

    VBA实现EXCEL中的进度条生成

    在Excel中,有时候我们需要处理大量数据,为了提升用户体验并显示数据处理的进度,可以使用VBA(Visual Basic for Applications)来创建自定义的进度条。本文将详细介绍如何使用VBA在Excel中实现一个简单的进度条...

    自定义进度条百分比

    通过研究这些文件,你可以更深入地理解如何在实际开发中实现自定义进度条并显示百分比。 总之,自定义进度条百分比是Android开发中一种常见的交互设计,通过继承并扩展系统提供的ProgressBar控件,我们可以轻松实现...

    Qt动态进度条

    通过修改样式表(QProgressBar::format),我们可以改变进度条的文字显示,例如,显示百分比或者当前的值。此外,还可以使用QSS(Qt StyleSheet)来调整进度条的颜色、宽度等视觉属性,使其与应用的整体风格保持一致...

    c# 进度条(进度条具有渐变色)

    - 使用String.Format方法格式化文本,例如:“{0}%”,将进度值转换为百分比并显示。 4. **色彩自定义**: - 通过添加公共属性,用户可以在设计时或运行时设置渐变色的起始和结束颜色。这些属性可以是Color类型,...

    Wabacus框架入门与提高

    接下来的步骤将指导您如何将Wabacus框架集成到您的项目中。 **2.1 准备工作** 1. **下载Wabacus框架**:从官方网站下载最新的Wabacus版本。 2. **添加依赖库**:将下载的Wabacus库文件添加到项目的类路径中。 3. *...

    UWP环状进度条

    通过`TemplateBinding`将`Progress`属性绑定到TextBlock的Text属性,使得百分比值与进度条同步。 接下来,在C#代码-behind或单独的视图模型中,我们需要为这个新控件创建对应的类,并添加必要的属性和方法: ```...

    六十五个GIF进度条图片

    确定性进度条显示了任务完成的具体百分比,让用户对剩余时间有所预期;而非确定性进度条,如无限循环的加载图标,仅表明程序正在运行但不提供具体进度信息。 GIF(Graphics Interchange Format)是一种流行的位图...

    VC 下载文件显示进度条.rar

    VC 下载文件显示进度条,pwnd-&gt;GetDlgItemText(IDC_EDIT1,szFile);  pwnd-&gt;SetDlgItemText(IDC_STAT,"正在校验下载地址...");  fTargFile = netSession.OpenURL(szFile,1,INTERNET_FLAG_TRANSFER_BINARY | ...

    网页显示 进度条 GIF图片

    本文将深入探讨进度条GIF图片在网页显示中的应用及其相关技术。 首先,GIF(Graphics Interchange Format)是一种流行的图像文件格式,支持动画和透明色。在网页上,GIF图片常用于创建动态效果,如旋转箭头、闪烁...

    各中各样的gif进度条图片

    1. **适应性**:确保进度条在不同的设备和屏幕尺寸上都能正常显示,尤其是在响应式设计中。 2. **性能**:虽然gif是自包含的动画,但相比CSS3动画或JavaScript,它可能会增加页面加载时间。因此,在网页中谨慎使用...

Global site tag (gtag.js) - Google Analytics