gridreport的写法及相关函数

<%@taglib uri="/zl-grid" prefix="grid"%>
<grid:gridreport reportcaption="列表" property="mygrid" collection="result.list" caption="caption.list"
     showcheckbox="false" idproperty="id" width="100%" height="120"/>
相关js函数:
下面函数前的mygrid为gridreport中定义的property值。
mygridgetsavevalue():返回isreturn为true的字段的值。
mygridselectid():返回选中(单选)的该行的idproperty定义的属性值。
mygridgetselectvalue(colname): 返回选中(单选)行的colname列的值。

mygridgetselectidbycheck():返回选中(复选)的行的idproperty定义的属性值(以','分隔)。

当前行的单元格
取单元格值: sheetgridgetselectvalue("have_quantity");
给单元格赋值: sheetgridsetselectvalue("have_quantity", have_quantity.toFixed(2));


报表中要写下拉框时
标题:type=lable, isreturn=true
内容:<select type="select" name="xs" id="xs" style="width:99%"><option value="1">畅</option><option value="2" selected="selected">滞</option></select>
显示该项可以用<span value="2">滞</span>,这样就可以取到value 和 text
返回值:用原框架取返回值时,下拉框值是错误的,通过覆盖框架中sheetgridgetcellvalue方法来实现取下拉框值
把该方法放在页面最下方,才能覆盖前面的这个方法
<script type="text/javascript">
//读取单元格的值(覆盖框架里的同名方法,能够正常读取下拉框的值)
function sheetgridgetcellvalue(cell,datatype){
//需要修改,添加各种输入类型的判断
var returnvalue;
if (cell.childNodes.length==0)
returnvalue=cell.innerText;
else{
if(cell.childNodes[0].tagName==null)
returnvalue=cell.innerText;
else{ if(cell.childNodes[0].tagName.toUpperCase()=="INPUT"){
var type
type=cell.childNodes[0].type;
if (type==null) type ="";
switch (type.toUpperCase()){
  case "CHECKBOX": 
 if(cell.childNodes[0].checked==true)
returnvalue="1";
 else
returnvalue="0";
 break;
  case "TEXT": 
 returnvalue=cell.childNodes[0].value
 break;
default : 
returnvalue=cell.innerText;
} else if(cell.childNodes[0].tagName.toUpperCase()=="SELECT")
   returnvalue=cell.childNodes[0].value;--这两行代码就是处理下拉框值的
else{returnvalue=cell.innerText;}}}
if(datatype!=null){
    if(datatype=="0")returnvalue=returnvalue;
    else if(datatype=="1"){
                                    returnvalue=parseFloat(returnvalue);
                                    if (isNaN(returnvalue)) returnvalue=0;
                                    }}
return returnvalue;
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。 Grid++Report6.0版主要新增功能 ★引擎方面 1、增加了一个自由表格部件,可以灵活定义各种自由表格,具有单元格合并功能。 2、部件框增加边距设置,边框增加内层与阴影,虚线边框。 3、文字显示增加段间距、首字缩进与两端分散对齐。 4、分组报表可以按某个统计值的大小对分组项进行排序 5、数据源除了OLE DB外,增加XML、JSON与普通文本数据。 6、在编程接口中增加了很多应用函数,如数据压缩、数字格式化、日期时间解析与格式化、打印机与纸型枚举、文件选择对话框等。 7、其它杂项功能,根据多年收集的用户需求来增加与改进功能,如分组相关系统变量、图像旋转显示等。 ★设计器: 1、设计面板具有缩放设计功能。 2、将关联属性归类为组,方便在设计时集中设置与查看。 3、对象浏览窗口与属性窗口可以隐藏,方便在设计很宽的报表时增大设计面板的区域。 4、设计面板大小跟随明细网格总列宽来改变宽度,方便设计大宽度明细网格报表。 5、部件框锁定功能,被锁定的部件框不允许进行可视化拖放。 6、自动在分组头尾中增加统计框,默认为合计函数,并设置相应的对齐列。 7、数据源连接串可以为 XML 或 JSON 数据源,且可以自动生成字段。设计报表时数据源可连接的类型有:各种数据库、XML或JSON文件、产生XML或JSON的网络URL、EXCEL文件、TEXT文件。 8、设计器增加数据提供事件接口,在设计报表时可以用给报表加载自定义数据源。 ★打印与打印预览: 1、横向分页时,在数据不多的情况下,分页直接显示在本页,而不是在下一页。 2、在模板中可以保存默认打印机名称。 3、分组尾支持每页重复打印。 4、如果部件框跨页多次显示了,在新页中再次输出其上下边框。 5、提供编程接口枚举出Windows系统中安装的打印机,以及指定打印机支持的所有纸张类型。 ★查询显示: 1、没有明细网格的报表,背景图可以显示出来。 2、明细数据不多时,表格不会显示下部空白。 ★数据导出: 1、在导出Excel时,能用代码设置页边距等参数 2、在运行时对外观属性的改变可以反映到Excel导出。 ★图表: 1、重新设计图表接口,让图表可视化设计与编程控制更清晰简单。 2、支持更多图表类型,如百分比柱状图、垂直排列的柱图。 3、一个图表中可以混和显示多种不同类型的图形,如一个序列为柱图,另一个序列为曲线图。 4、Y轴可以显示双坐标轴,方便实现双轴柱状图等。 5、图例可以在下方显示,可以多栏显示。 6、增加图表数据记录集,图表数据直接从记录集或XML数据源加载,而不需用代码来加载图表数据。 7、图表方面还有很多细节方面的改进与增强,加强图表功能是本新版本的重要方面。 ★交叉表 1、多数据列交叉表可以将同一列产生的交叉列排列在一起。 2、在合计列中可以排除掉一些列不进行合计。 3、纵向交叉项目列中可以定义统计框或综合文字框表达式,在合计列中关联的字段自动求和,在项目列中关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值