private void PrintingSystem_EditingFieldChanged(object sender, DevExpress.XtraPrinting.EditingFieldEventArgs e)
        {
            var brick = e.EditingField.Brick;
            if (brick.BrickOwner is XRLabel)
            {
                ((XRLabel)brick.BrickOwner).Text = brick.Text;
            }
            else if (brick.BrickOwner is XRCheckBox)
            {
                var chk = (XRCheckBox)brick.BrickOwner;
                var name = chk.Tag?.ToString();
                if (!string.IsNullOrEmpty(name))
                {
                    var ctl = ReportHeader.Controls.Cast<XRControl>().FirstOrDefault(c => c.Name == name);
                    if (!string.IsNullOrEmpty(chk.EditOptions.GroupID))
                    {
                        //单选
                        ctl.Tag = brick.Text;
                    }
                    else
                    {
                        //多选
                        var arr = string.IsNullOrEmpty(ctl.Tag?.ToString()) ? new List<string>() : ctl.Tag?.ToString().Split('&').ToList();
                        if (!string.IsNullOrEmpty(chk.Text))
                        {
                            if (false == arr.Exists(i => i.Equals(chk.Text, System.StringComparison.OrdinalIgnoreCase)))
                            {
                                //集合没有,并勾选了
                                if (e.EditingField.EditValue.ToString() == "Checked")
                                    arr.Add(chk.Text);
                            }
                            else
                            {
                                if (e.EditingField.EditValue.ToString() == "Unchecked")
                                {
                                    arr.Remove(chk.Text);
                                }
                            }
                        }
                        ctl.Tag = string.Join("&", arr);
                    }
                }
            }
        }
 
radiobutton用checkbox来代替
对于多个checkbox只要选一个的情况,设置每个checkbox的tag值为同一个控件,并且设置checkbox的EditOpitions.GroupID不为空。
多于多个checkbox需要选多个的情况,设置每个checkbox的tag值为同一个控件。

针对DEV XtraReport中没有radiobuttonlist的替代方法的更多相关文章

  1. .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...

  2. iOS中的过期方法和新的替代方法

    关于iOS中的过期方法和新的替代方法 1.获取某些类的UINavigationBar的统一外观并设置UINavigationbar的背景 注:方法名改了但是基本使用方法不变 + (instancety ...

  3. Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式

    在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80. ...

  4. Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Dev环境中的集成测试用例执行时上下文环境检查(实战) Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术 ...

  5. 新版 Scrapy 中 sys.conf.settings 的替代方法

    新版 Scrapy 中 sys.conf.settings 的替代方法 在 scrapy 项目目录下,有个 settings.py 文件,此文件是用来存放爬虫项目的各种配置,比如说 MongoDB 的 ...

  6. kibana的Dev Tool中如何对es进行增删改查

    kinaba Dev Tool中对es(elasticSearch)进行增删改查 一.查询操作 查询语句基本语法 以下语句类似于mysql的: select * from  xxx.yyy.topic ...

  7. Android中getDrawable和getColor过时的替代方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...

  8. android中获取root权限的方法以及原理(转)

    一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...

  9. 详解OJ(Online Judge)中PHP代码的提交方法及要点【举例:ZOJ 1001 (A + B Problem)】

    详解OJ(Online Judge)中PHP代码的提交方法及要点 Introduction of How to submit PHP code to Online Judge Systems  Int ...

随机推荐

  1. cobbler自动化安装centos

    转载于:https://www.cnblogs.com/skymydaiji/p/10877533.html 一.cobbler介绍 1.前言 cobbler 是基于 python 语言开发的 pxe ...

  2. Oracle 数据库下赋予用户的执行存储过程和创建表权限

    grant create any table to username; grant create any procedure to username; grant execute any proced ...

  3. RHSA-2017:2473-重要: 内核 安全和BUG修复更新(需要重启、存在EXP、本地提权)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  4. Vue.js 学习笔记之五:编译 vue 组件

    正如上一篇笔记中所说,直接使用 ES6 标准提供的模块规范来编写 Vue 组件在很多情况下可能并不是最佳实践.主要原因有两个,首先是市面上还有许多并没有对 ES6 标准提供完全支持的 Web 浏览器, ...

  5. lumen-ioc容器测试 (2)

    lumen-ioc容器测试 (1) lumen-ioc容器测试 (2) lumen-ioc容器测试 (3) lumen-ioc容器测试 (4) lumen-ioc容器测试 (5) lumen-ioc容 ...

  6. Vue3 来了,Vue3 开源商城项目重构计划正式启动!

    我打算用 Vue3 写一个商城项目,目前已经开始着手开发,测试完成后正式开源到 GitHub,让大家也可以用现成的 Vue3 大型商城项目源码来练练手. Vue 3.0 来了,我们该做些什么? Vue ...

  7. 正则匹配img标签 蜘蛛 爬取分析 新闻采集

    string ostr = "aaaaaa<img asddsa src=\"\" asddsasd />aaaaaaa<img src=\" ...

  8. 【Azure DevOps系列】Azure DevOps使用Docker将.NET应用程序部署在云服务器

    Docker持续集成 本章我们要实现的是通过我们往代码仓库push代码后,我们将每次的push进行一次docker自动化打包发布到docker hub中,发布到之后我将进行部署环节,我们将通过ssh方 ...

  9. 解放开发者!3款工具实现快速K8S开发

    本文转自Rancher Labs 关注我们,即可第一时间获取K8S教程哦 简 介 时至今日,Kubernetes正在变得越来越重要,不仅仅是运维需要Kubernetes,在开发的世界里Kubernet ...

  10. vue学习第一部

    目录 基础操作 vue基础使用 步骤 vue的框架思想(mvvm) 显示数据 vue 常用指令 属性操作 事件绑定 操作样式 条件渲染指令 列表渲染指令 vue对象提供的属性功能 过滤器 计算和侦听属 ...