Ureport2-单选列表自定义数据源问题

2023-10-08 11:59

本文主要是介绍Ureport2-单选列表自定义数据源问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近项目中需要使用Ureport2单选列表的功能,并且要求单选列表的选择项由外部其他视图或者数据源导入,于是新建视图,创建单选列表选择框,如下图所示。

但是进行数据预览时却抛出如下异常:

通过异常可以大概看出原因是无法读取我定义的单选列表数据源视图。

于是先将报表进行保存,然后查看保存的xml文件

此时发现<datasource></datasource>标签里并不存在我创建的选择视图的相关信息。

倒是下面的 <search-form> </search-form>标签里有dataset字段有我创建视图的名字,猜想是这边引用了指定dataset数据源视图,但是由于表格里面没有使用该数据源相关字段信息,所以导致<datasource></datasource>标签里面没有对应数据源视图,所以无法访问,抛出异常。

 

说明:

         从上面的分析可以看出,只有表格列引用的数据源才会在<datasource></datasource>字段里面出现。筛选框选择的数据源不会再<datasource></datasource>便签里面出现。对于没有在<datasource></datasource>字段里面出现的数据源Ureport2会任务数据源不存在。

 

解决方案:

在不修改代码的前提下,我这里提供了一种我想到的解决方案,如果有更好的方案,欢迎进行评论说明。

既然筛选框的数据源不会在<datasource></datasource>字段里面出现,那么我们就在表格列里引用对应的数据源即可。但是由于又不希望改变原有的报表结构,所以我们选择一个空白表格,引用该数据源视图,然后利用过滤条件,让该数据源无值展现即可。

 

示例如下:

任选一个空格格子,引用该数据源视图的任意一个字段。

点击过滤条件,定义一个无值的条件(上述例子中系统没有FNAME为0的记录)。

此时会发现不再报错,并且选择框列有对应的筛选项,并且原来的空格格子仍然还是空白格子,满足报表要求。

 

这篇关于Ureport2-单选列表自定义数据源问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/165110

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息