页面树结构
转至元数据结尾
转至元数据起始

清单报表补录回写是指以清单方式列出报表数据,并对报表数据(可以是多条记录操作)进行修改、增删后回写补录到清单报表对应的数据表中。

用例说明

下面我们以清单报表为例演示下面功能:

  • 演示回写报表创建执行的完整流程。参考下面流程图:

          

  • 可以修改多条数据回写不同的记录到回写表中。
  • 可以插入/删除行来实现增删数据。
  • 回写表和清单报表对应查询使用的是同一张表,则回写成功后刷新报表即可看到回写效果。

           

操作步骤

实现清单报表数据回写的具体操作步骤如下:

1、创建回写库和回写表

      创建一个"MySQL"类型的名为"writedb"的回写库,在回写库中按照如下规则创建回写表"supplier"。

字段ID

字段名称

类型

是否可为空

是否主键

SupplierID

供应商ID

char(50)

N

Y

CompanyName

公司名称

char(255)

Y

N

ContactName

联系人

char(255)

Y

N

Address

地址

char(255)

Y

N

Phone

电话

char(50)

Y

N

2、连接回写库和添加回写表

      在浏览端的"系统管理界面"资源目录区的"数据源"中连接以上创建好的回写库,该数据源连接的名称为"回写"。
     
     并在数据库管理中添加回写表。
    
3、创建电子表格。基于回写表Supplier创建可视化查询,并在输出字段属性中修改字段别名,如下图:
     
     根据上面查询创建电子表格,属性设置为默认即可,如下图:
    
    此时预览清单报表,其工具栏上无回写相关的按钮,如下图:

 


   
4、设置回写规则。
      在报表设计器中选择工具栏上 回写规则,弹出"回写规则"对话框。
     
      在"回写规则设置"操作区单击 新增规则 按钮,则会增加一个新的规则"未命名"。如下图

      
     
      输入回写规则名称,在"数据库"下拉列表中选择"回写",在"表"的下拉列表中选择"DEFAULT.supplier"。

      
     
      将当前报 表中的数据与回写表中的字段做映射关系,设置回写表中各列回写的值。单击 所有列 按钮,在值区域,则会出现所有列对应的表达式。

      
       我们双击SupplierID字段对应主键单元格。双击或是右键设为主键。

      我们可以分别选中所有行,修改其"值"输入对应的单元格。如SupplierID字段对应"A3"单元格。

      
           
     单击 确定 按钮,完成回写规则的设置。
     如此时发布资源,预览数据,可以发现工具栏上出现回写相关按钮,但是双击单元格无法修改数据,并且插入/删除行按钮也是灰掉的,不能使用。


     
     此是点击回写按钮,实际上是不执行回写操作的,我们必须在设置单元格填报属性后,才能修改数据,并在点击回写后写入数据库。

5、设置填报属性。用于设置单元格的数据是否可以修改。

      a、设置数据可以修改。
            在报表设计器中分别选中B3、C3、D3和E3对单元格,点击工具栏上 填报属性 按钮,则弹出"单元格填报属性"对话框。
            在对话框中设置E3单元格为"允许修改",并选择为"单行文本"。如下图:

           
           
            点击 确定 按钮,完成这些单元格的填报属性设置 

      b、设置允许插入/删除行。选择A3单元格"供应商编号"对应的单元格,设置其填报属性为"允许修改","数字",勾选"可以掺入/删除行"。如下图。

            
            
6、执行回写。完成回写规则和填报设置后设,我们发布报表,在浏览器端打开报表,就可以补录回写数据了。 

      a、数据修改:双击E5对应的"电话号码"扩展出来的第一行数据,该单元格呈可编辑状态,原来数据为" (010) 65554222",输入新数据为" (010) 888888888"。
          
          
         单击 保存 按钮,弹出"填写内容保存成功"的信息,成功补录数据,数据库数据发生变化。
         此时因为"供应商编号"为主键,主键未发生变化,其后数据发生变化,则相当于更新数据,如下图:数据库数据显示为
       
         因回写表字段和清单表单元格对应字段设置关联一致,报表刷新即可看到数据改变,如下图:

         
          b、插入/删除行,添加一条记录。选中"供应商编号""字段值为1的单元格,则工具栏按钮添加/删除行可用。点击 插入行按钮,则会在1对应行下面添加一个新行。

            

            
              在新行的"供应商编号"主键列对应的单元格中输入30,其它输入相关文本。如下图:

              
             
              因为"供应商编号"主键列对应的值"30"是个新值,则相当于更新数据,如下图:数据库数据显示为
             
              因回写表字段和清单表单元格对应字段设置关联一致,报表刷新即可看到数据改变,如下图:

              
              

        c、插入/删除行,删除一条记录。选中"供应商编号""字段值为30的单元格,则工具栏按钮添加/删除行可用。点击 删除行按钮,则会在30行记录删除。

             

             在点击【保存】按钮。数据则可从数据库中删除。

             

                进行数据库,则可以看到数据库中数据也被删除了。

             

 

  • 无标签