知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > 快逸报表更新属性“是否更新未修改行”功能介绍

快逸报表更新属性“是否更新未修改行”功能介绍

在使用快逸做报表的时候,遇到一个关于填报表更新数据的问题。最终找到的原因竟然是不太注意的更新列表中”是否更新为修改行”的属性。

首先看一下,快逸填报表”是否更改为修改行”属性的位置,如下图:

1.png

默认为勾选状态,即当数据的某些行在数据没发生改变时也会在数据库端执行一次update语句。

遇到的问题描述:

报表最终展现数据结果如下

2.png

注意本例中的关键点:一个问题的ID可能同时出现在多个人的节点之下,即多人负责处理一个问题。

当在如图所示的结果页面上,更新了问题ID为1111的优先级的时候,点击保存,保存成功,但是返回到数据展现页面数据还是没有更新至自己预想的结果(由一级修改为二级)。

下面就以一个完整的例子来说明本例中出现的问题及原因。

第一步:数据准备

本例是使用mysql数据库,建表语句如下:

—-负责问题列表
CREATE TABLE `questions` (
`questionID` int(4) NOT NULL COMMENT ‘问题ID’,
`principal` varchar(10) default NULL COMMENT ‘负责人’,
`questionsTitle` varchar(40) default NULL COMMENT ‘问题标题’,
`questionPrio` int(4) default NULL COMMENT ‘问题优先级’
)
初始化负责问题列表数据:
insert into questions values(1111,’张三’,’快逸报表填报时数据更新问题’,2);
insert into questions values(1111,’李四’,’快逸报表填报时数据更新问题’,2);
insert into questions values(1111,’小王’,’快逸报表填报时数据更新问题’,2);
insert into questions values(2222,’张三’,’快逸报表数据导出问题’,3);
insert into questions values(3333,’李四’,’快逸报表打印问题’,1);
—-优先级表
CREATE TABLE `quesprio` (
`prioID` int(4) NOT NULL COMMENT ‘优先级ID’,
`prioName` varchar(30) default NULL COMMENT ‘优先级中文名称’,
PRIMARY KEY (`prioID`)
)
初始化优先级表
insert into quesprio values(1,’一级’);
insert into quesprio values(2,’二级’);
insert into quesprio values(3,’三级’);

第二步:快逸填报表复杂报表设计" target="_blank" class="quieeLink1">设计

1、数据集sql语句如下:

SELECT questions.questionID,questions.questionsTitle,questions.principal,questions.questionPrio,quesprio.prioName FROM questions,quesprio WHERE questions.questionPrio = quesprio.prioID

2、报表设计如下

3.png

其中,各单元格表达式如下

A2:ds1.group(principal,false) —-按照负责人分组

B3:ds1.select(questionID,false,,questionID)

C3:ds1.questionsTitle

D3:ds1.prioName

B3的主格为A2,A3的主格为B3,D3格为可写单元格

3、设置更新属性,如下所示

4.png

第三步:发布报表并修改优先级保存测试

发布后,报表在浏览器看到的效果如下

5.png

1、 在更新属性设置为勾选”是否修改未更改行”属性下,更改李四问题ID为”1111″的问题为三级,保存后的效果如下

6.png

原因就是,在修改李四下问题’1111′的优先级后,尽管执行了update语句,并且也把其优先级修改成了”三级”,但是,由于勾选了”是否修改未修改行”,因此在小王、张三下又对数据库做了一次update操作,又将’1111′的优先级修改成了”二级”,这也能说明如果我们直接修改张三下’1111′的优先级为”三级”,肯定是成功的。

2、在更新属性内不勾选”是否修改未更改行”属性,如下

7.png

修改李四问题ID为”1111″的问题为三级,保存后的效果如下

8.png

由本例可看出,在快逸填报表中,如果有类似例子中展现数据方式的时候,一定要注意某些属性的设置,本例中”是否更新未修改行”属性,看似很不起眼,但是在报表设计和应用中很重要。

发布日期:2010/04/28
本文分类: 设计基础