首页 > 其他分享 >1.5 填报功能入门

1.5 填报功能入门

时间:2023-08-19 13:11:24浏览次数:45  
标签:1.5 入门 填报 控件 单元格 数据 模板 属性

一、填报功能

1. 概述

1.1 功能简介

  • 将页面数据写入到数据库,包括数据的增加、删除和修改操作。
  • 支持对数据的自定义校验,excel导入数据,根据填写值智能联动。

1.2 预期效果

1)新增数据
填报预览时,选中某一行数据,点击「增加记录」按钮,在这行数据后面新增一行数据。
image
2)修改数据
填报预览时,选中某一行数据,修改其中数据列的信息。
image

3)删除数据
填报预览时,选中某一行数据,点击「删除列行」按钮,将这一行数据直接删除。
image

2.操纵步骤

2.1 数据准备

新建数据集 ds1,数据库查询对话框中写入 SQL 查询语句,取出「S产品」表中按「产品ID」排序后的前五条数据:

SELECT * FROM S产品 ORDER BY 产品ID LIMIT 5

image

2.2 报表设计

1)A1~I1 单元格写入表格标题信息依次为

产品ID、产品名称、供应商ID、类别ID、单位数量、单价、库存量、订购量、再订购量

2)将数据集中的相应的数据列按照标题字段依次拖入到 A2~I2 单元格。

image

3)模板主题选择「兼容主题」,选中 A1~I1 单元格,在右侧的「单元格属性>跟随主题」设置表格的标题样式为「Head1」,表格主体字体设置为「居中」,并添加天蓝色内外框。

image

2.3 添加填报控件

给单元格添加录入数据的控件,若不设置录入数据的控件将无法实现填报功能

  • 选中 A2~I2 单元格,右边属性面板选择「控件设置」,选择控件下拉框选择「文本控件」。
    • 如果只想向数据库提交自定义的数据,则无需将数据列拖入 A2~I2 ,可直接在空白单元格上添加填报控件。
    • 如果想要将数据集中的数据提交入库,而没有修改和新增数据的需求,可以将数据列拖入单元格,无需添加填报控件。

image

2.4 填报属性

设置填报属性的目的:将需要录入数据所在的单元格跟数据库表中的字段对应起来,从而确定某个单元格中录入的数据该写入到哪个数据库表下的哪个字段中。

1)菜单栏选择「模板>报表填报属性」,打开「报表填报属性」设置对话框。
image

2)在对话框中选择「提交」,点击+,选择「内置SQL」的数据提交方法。选择提交类型为「智能提交」,数据库为「FRDemo」,表为「S产品」 。
image

3)选择「智能添加字段」确定可以进行填报的字段,然后选择「智能添加单元格」功能将单元格与数据库表中的数据列绑定起来,不选择[产品]列,其他都选上。
image

4)勾选「产品ID」为「主键」,然后选择「智能添加单元格」功能将单元格与数据库表中的数据列绑定起来,勾选「产品ID」为「主键」,详细添加方式可参考:内置SQL提交。勾选「 未修改不更新」,点击「确定」,即完成报表填报属性的设置。
image

image

注1:勾选了「未修改不更新」后,进行填报时,页面上未修改的数据不会参与提交,具体介绍可参考:填报未修改不更新。

注2:如果涉及到修改或删除需求,那么必须勾选一个或多个主键,这里的主键相当于 SQL 中 where 的效果,不同于数据库的主键。

2.5 设置模板Web属性

设置模板 Web 属性的目的是为了自定义填报预览的页面,包括工具栏、报表显示位置、标签页显示位置等等。

注:设置模板 Web 属性不是填报模板制作的必要流程,也可直接使用默认的 Web 属性设置。

1)菜单栏选择「模板>模板Web属性」,打开模板 Web 属性设置对话框。

2)「模板 Web 属性设置」对话框中选择「填报页面设置」,选中「为该模板单独设置」填报页面的 Web 属性。勾选「填报当前编辑行背景设置」,设置其背景色为绿色。点击按钮,删除默认的顶部工具栏,从下方的工具库中通过双击的方式将控件添加到顶部工具栏,本示例中添加的四个自定义控件分别为:「提交」、「数据校验」、「插入记录」、「删除记录」。其余选项采用默认设置,点击「确定」,即完成填报预览页面属性的设置。
image

2.6 预览

1)点击「保存」按钮,保存报表。选择「填报预览」查看报表,如下图所示:
image
2)新增数据
image

3)修改数据
image

4)删除数据
点击所在行,再点击删除列行,实现删除
image

标签:1.5,入门,填报,控件,单元格,数据,模板,属性
From: https://www.cnblogs.com/yuyingblogs/p/17642354.html

相关文章

  • 【Freertos基础入门】队列(queue)的使用
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC前言本系列基于stm32系列单片机来使用freerotsFreeRTOS是一个广泛使用的开源实时操作系统(RTOS),它提供了丰富的功能和特性,使嵌入式系统的开发更加简单和高效。队列是FreeRTOS中常用的一种通信机制,它用于在任务之间传......
  • JS入门第二节
    <!--1.循环输出1~100岁--><script>for(i=1;i<=100;i++){console.log(i+"岁");}</script><!--计算1~100所有的偶数和--><script>letsum=0;for(i=1;i<=100;i++){......
  • webman:安装/创建项目(v1.5.7)
    一,官方文档:1,官方站:https://www.workerman.net/webman2,安装文档:https://www.workerman.net/doc/webman/install.html二,准备安装环境:1,需求环境需求PHP>=7.2Composer >=2.02,查看本地环境:php:liuhongdi@lhdpc:~$/usr/local/soft/php8/bin/php--version......
  • webman:修改默认页面(v1.5.7)
    一,默认页面的内容:说明:代码位于app/IndexController.php参考这个文档:https://www.workerman.net/doc/webman/route.html原始代码:显示了README.md这个文件的内容12345678910classIndexController{    publicfunctionindex(Request$reques......
  • webman:管理命令(v1.5.7)
     一,启动和停止1,启动#-d:以daemon方式启动,用于生产环境liuhongdi@lhdpc:/data/webman/imageadmin$phpstart.phpstart-dWorkerman[start.php]startinDAEMONmode-------------------------------------------WORKERMAN--------------------------------------......
  • webman:配置路由(v1.5.7)
     一,官方文档地址:https://www.workerman.net/doc/webman/route.html二,php代码:config/route.php1234567891011121314151617181920<?php useWebman\Route; //指定默认页面Route::get('/',[app\controller\IndexController::class......
  • webman:返回统一格式的json(v1.5.7)
     一,php代码:1,类代码:app/result/Result.php1234567891011121314151617181920212223242526272829303132333435<?php/*   统一格式的返回json数据*/namespaceapp\result; classResult{    //success:code......
  • Minecraft-Spigot插件开发入门
    Plugin.yml文件plugin.yml是一个包含你的插件信息的文件。没有这个文件,你的插件将无法工作。它由一组属性组成,每个属性都定义在一个新的行上,没有缩进。所有的属性都是区分大小写的。Plugin文件必要的三个属性main这个属性指向你的插件的类,它扩展了JavaPlugin。这必须包含......
  • MQTTnet4入门(二)实现客户端
    上一篇写服务端的文章《MQTTnet4入门(一)实现服务端》已经是去年年底,现在MQTTnet的版本是4.2.1.781,总的来说改动不大。下面以新版为例实现一个客户端。varmqttClientOptions=newMqttClientOptionsBuilder().WithTcpServer("地址",端口).Wit......
  • C++11新特性——1.4-1.5 final和override
    1.4final原文:https://subingwen.cn/cpp/final/总结:1.final限制某个类不能被继承,或限制某个虚函数不能被重写2.final修饰虚函数或者类3.final关键字写到虚函数或类后面classBase{public:virtualvoidtest(){cout<<"Baseclass.........