目录

  • RowRule示例
    • 1.根据行字段值对字段进行样式设置
    • 2.根据自定义方法返回值控制字段只读
    • 3.根据自定义方法返回值控制整行只读
    • 4.SettingStyle
    • 5.根据自定义方法返回值执行自定义行为
    • 6.RowRule失效情况

RowRule示例

1.根据行字段值对字段进行样式设置

//高亮显示
RowRule rr1 = new RowRule("UD103.ShortChar02", RuleCondition.Equals, "");//如果UD103.ShortChar02=""
//高亮显示该行的UD103.ShortChar02字段
rr1.AddAction(RuleAction.AddControlSettings(this.oTrans, "UD103.ShortChar02", SettingStyle.Highlight));
((EpiDataView)(this.oTrans.EpiDataViews["UD103"])).AddRowRule(rr1);//将RowRule添加到EpiDataView实例化对象中//自定义背景颜色
RowRule rr1 = new RowRule("UD103.ShortChar02", RuleCondition.Equals, "");//如果UD103.ShortChar02=""
ControlSettings controlSettings = new ControlSettings();
controlSettings.BackColor = Color.Red;//设置自定义背景颜色
controlSettings.StyleSetName = "MyStyle001";//设置该样式的名称,样式名称不能为空,也不能使用已有样式名,否则背景颜色将优先从该样式名对应的样式中获取,导致自定义背景色无效
rr1.AddAction(RuleAction.AddControlSettings(this.oTrans, "UD103.ShortChar02", controlSettings));
((EpiDataView)(this.oTrans.EpiDataViews["UD103"])).AddRowRule(rr1);

2.根据自定义方法返回值控制字段只读

private bool IsApproved(RowRuleDelegateArgs args)
{string shortChar01= Convert.ToString(args.Row["ShortChar01"]);if (shortChar01== "Approved") return true;else return false;
}
RowRule rr1 = new RowRule(null, new RowRuleConditionDelegate2(this.IsApproved), null);//如果IsApproved方法返回true
//该行的UD103.ShortChar02字段设置为只读,控制数据输入
rr1.AddAction(RuleAction.AddControlSettings(this.oTrans, "UD103.ShortChar02", SettingStyle.ReadOnly));
((EpiDataView)(this.oTrans.EpiDataViews["UD103"])).AddRowRule(rr1);//将RowRule添加到EpiDataView实例化对象中

3.根据自定义方法返回值控制整行只读

private bool IsApproved(RowRuleDelegateArgs args)
{string shortChar01= Convert.ToString(args.Row["ShortChar01"]);if (shortChar01== "Approved") return true;else return false;
}
RowRule rr1 = new RowRule(null, new RowRuleConditionDelegate2(this.IsApproved), null);//如果IsApproved方法返回true
rr1.AddAction(RuleAction.DisableRow(this.oTrans, "UD103A"));//控制整行数据输入
((EpiDataView)(this.oTrans.EpiDataViews["UD103"])).AddRowRule(rr1);//将RowRule添加到EpiDataView实例化对象中

4.SettingStyle

除了高亮显示和只读样式,还可以设置加粗,强制输入等,具体可以查看SettingStyle枚举:

public enum SettingStyle
{Bold = 0,Error = 1,Warning = 2,OK = 3,Highlight = 4,Disabled = 5,Mandatory = 6,Invisible = 7,ReadOnly = 8
}

5.根据自定义方法返回值执行自定义行为

除SettingStyle枚举中的行为外,我们也可以自定义行为:

private bool IsApproved(RowRuleDelegateArgs args)
{string shortChar01= Convert.ToString(args.Row["ShortChar01"]);if (shortChar01== "Approved") return true;else return false;
}
private void DoSomeThings(RowRuleDelegateArgs args){epiBt1.ReadOnly = true;
}
//根据IsApproved方法返回值,执行DoSomeThings方法
RowRule rr1 = new RowRule(null, new RowRuleConditionDelegate2(this.IsApproved), null, new RowRuleActionDelegate2(this.DoSomeThings),null);
((EpiDataView)(this.oTrans.EpiDataViews["UD103"])).AddRowRule(rr1);

6.RowRule失效情况

暂时发现调用了oTrans.Clear()时RowRule会失效,需改为调用oTrans.ClearDataSets()。

Epicor客制化 - RowRule使用示例相关推荐

  1. Epicor客制化常用代码汇总(1)

    –不定期的更新总结一些Epicor客制化常用的代码,有兴趣的请加关注 1. 如何在Dashboard中调用标准菜单的"刷新"按钮 在按钮的单击事件中增加如下的代码: private ...

  2. ICE Tester method viewer 的安装和使用,和客制化代码配合使用

     安装 找到目录 C:\Epicor\Epicor905\Utilities\BL-Tester 下面有个安装文件ICE2.0.5 BL Tester Setup,双击这个文件安装 需要填入的资料中, ...

  3. 客制化PO单据模板(实例)

    [前言]今天研究了一整天的PO单据,终于让我开发出属于自己的单据样式,客户就可以用我开发的样式打印单据了.整个过程其实蛮简单的,是指因为自己刚开始摸索,又没有资料,根据前面的积累慢慢探究出来了.今天里 ...

  4. 客制化键盘编程_客制化键盘QMK固件入门-修改keyboard和keymap

    客制化键盘,这是一个巨大的坑,形形色色的轴体.外壳.PCB.数据线.键帽.灯效.音效甚至掌托,对于热爱DIY的玩家们来说,确实很吸引人,但再看看价格,只能打扰了.作为一只程序猿,想要玩客制化键盘又玩不 ...

  5. 客制化NVRAM的以太网地址

    在使用SN Write写Ethernet MAC过程中出现了以下的错误: ERROR!! Ethernet Mac:MetaResult = SPMETA_DLL::META_LID_INVALID. ...

  6. 客制化键盘键位修改_干电池 支持5设备无线连接 - 高斯ALT71机械键盘拆解评测...

    近一段时间,本人就感觉小型紧凑机械键盘键盘很火,这点我很意外,一直以来都是87键和104键的天下,怎么突然就很火热呢?我真的是LOW.小型紧凑型机械键盘种类很多,有60.61.64.66.67.68. ...

  7. 客制化键盘编程_指尖运动会,谁是打字冠军,双十一机械键盘推荐

    机械键盘就只能玩游戏吗?当然不是,其实机械键盘出现还远远早于薄膜键盘,早期类似IBM.AST.HP.康柏一类的品牌机都是标配机械键盘的.早期的机械键盘确实有点笨重,尤其是白轴的机械键盘,让你毕生难忘. ...

  8. 客制化键盘编程_客制化键盘劝退指南

    客制化键盘劝退指南 最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了.这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的. 如此一来,家里的台式 ...

  9. 客制化键盘键位修改_可以用很漂亮形容的一把键盘,差一步就完美

    内置钢板是轴体固定需要也是机械键盘的标志,钢板除了可以带来极其稳定的固定效果也成就了机械键盘扎实的手感,同时是机械键盘分量感的主要来源,给人一种结实感,这是薄膜键帽所不具备的. ▲外置钢板在悬浮式结构 ...

  10. 客制化键盘编程_客制化键盘如何入坑?

    首先,玩客制化键盘之前你得了解一些键盘相关的知识. 比如键盘的轴体大致分为:线性轴.段落轴.声音轴.线性轴主要是类红轴,静音轴两大类.段落轴主要是类茶轴,类hp轴两大类.声音轴就是类青轴和类box白轴 ...

最新文章

  1. 在mac操作系统下,Intellij IDEA默认jdk版本的修改
  2. Python读excel——xlrd
  3. jedis watch Java_jedis操作redis的几种常见方式总结
  4. 腾讯视频如何下载视频_腾讯视频如何做明星装扮
  5. JS Number对象常用函数(数字类型常用函数)
  6. android微信调试网页,Mac OS X EI Capitan 下调试 Android 微信内嵌网页
  7. java is instance of_详谈Java中instanceof和isInstance的区别
  8. 怎么删除CSDN已上传的资源
  9. pagehelper Jar包下载
  10. WPF做的金山词霸页面
  11. c++中char[]与char*的转换以及char*与数字互转
  12. 全国社会组织信用信息公式平台(试运行)爬虫记录
  13. net stop mysql 服务名无效
  14. 在大裁员背景下,一个年薪百万的offer有多容易
  15. 谈谈网络工程师的就业方向与薪资水平
  16. 163.Oracle数据库SQL开发之 SQL优化——优化工具
  17. mysql打开注册表命令_怎么打开注册表文件?
  18. javascript:幂指数运算符
  19. Java 实现高并发秒杀
  20. 日语 | 日本50音

热门文章

  1. Excel-冻结窗口和筛选
  2. 空头平仓什么意思_空头开仓和空头平仓是什么意思(贵金属交易口诀)
  3. 5点促进软件外包转型升级
  4. 俄罗斯方块游戏开发教程1:整体流程
  5. STM32怎么判断按键是不是低电平有效
  6. 计算机应届生的面试经验
  7. MySQL(密码恢复及设置)
  8. 基于Windows2003实现网关-网关虚拟专用网络
  9. 多台显示器图像拼接组成大屏幕是怎么实现的?
  10. java练习题-猜数字游戏