动态进行"自定义公式"计算
2008-12-11 11:41
190 查看
这几天弄完了一个"自定义公式计算"的方案,觉得比较有意思,在这里就共享下!
该方案是针对一些需要用户自己去定义"计算公式",然后通过这个公式得出计算的结果这种需求的,特别适用与一些产品的BOM(在制作BOM的时候,需要去设定BOM中每个物料的数量,当这个BOM在比较复杂的时候直接去设定物料的数量,这点就不能去满足,因为有些物料是和其中的一些有关系的,所以这些的数据也想通过公式来建立关联关系并且得到数量)。
例如,A产品由B和C组成,在这里面B和C有一定的关联,C的数量是B数量的2陪,当出现这种情况的时候,用户就想通过修改B的数量,然后联动修改C的数量,但是这些公式需要允许用户自己去定义。这种类试的问题就是可以通过这个来搞定的。
大概可以解决的问题,大家应该了解了吧!那么如何使用和基本原理?
让我们先从用户使用的角度开始吧:
1、用户定义了下面结构的产品BOM:
Code
string templateName = "testT";
IList<CParamter> parList = new List<CParamter>();
CParamter cpar = new CParamter();
cpar.Key = "[Key1]";
cpar.PValue = 1;
cpar.PType = DataTypeEnum.Interger;
cpar.FormulaStr = "return [Key1] + 10";
parList.Add(cpar);
CParamter cpar1 = new CParamter();
cpar1.Key = "[Key2]";
cpar1.PValue = 1;
cpar1.PType = DataTypeEnum.Interger;
cpar1.FormulaStr = "return [Key2] + [Key1]";
parList.Add(cpar1);
ICTemplate tem = CTemplateFactory.BuildTemplate(templateName, parList);
tem.CalcaluteParamters(ref parList);
Assert.AreEqual(11, Convert.ToInt32(parList[0].PValue));
Assert.AreEqual(12, Convert.ToInt32(parList[1].PValue));
觉得这个方案对于需要进行自定义公式进行计算的用户,还是不错的!
源代码:DynamicCalculate.rar
该方案是针对一些需要用户自己去定义"计算公式",然后通过这个公式得出计算的结果这种需求的,特别适用与一些产品的BOM(在制作BOM的时候,需要去设定BOM中每个物料的数量,当这个BOM在比较复杂的时候直接去设定物料的数量,这点就不能去满足,因为有些物料是和其中的一些有关系的,所以这些的数据也想通过公式来建立关联关系并且得到数量)。
例如,A产品由B和C组成,在这里面B和C有一定的关联,C的数量是B数量的2陪,当出现这种情况的时候,用户就想通过修改B的数量,然后联动修改C的数量,但是这些公式需要允许用户自己去定义。这种类试的问题就是可以通过这个来搞定的。
大概可以解决的问题,大家应该了解了吧!那么如何使用和基本原理?
让我们先从用户使用的角度开始吧:
1、用户定义了下面结构的产品BOM:
Code
string templateName = "testT";
IList<CParamter> parList = new List<CParamter>();
CParamter cpar = new CParamter();
cpar.Key = "[Key1]";
cpar.PValue = 1;
cpar.PType = DataTypeEnum.Interger;
cpar.FormulaStr = "return [Key1] + 10";
parList.Add(cpar);
CParamter cpar1 = new CParamter();
cpar1.Key = "[Key2]";
cpar1.PValue = 1;
cpar1.PType = DataTypeEnum.Interger;
cpar1.FormulaStr = "return [Key2] + [Key1]";
parList.Add(cpar1);
ICTemplate tem = CTemplateFactory.BuildTemplate(templateName, parList);
tem.CalcaluteParamters(ref parList);
Assert.AreEqual(11, Convert.ToInt32(parList[0].PValue));
Assert.AreEqual(12, Convert.ToInt32(parList[1].PValue));
觉得这个方案对于需要进行自定义公式进行计算的用户,还是不错的!
源代码:DynamicCalculate.rar
相关文章推荐
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- [原] 自定义条件公式和计算公式的动态配置计算器的示例
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- 动态拼接SQL计算公式
- 利用函数公式进行贷款的计算
- iOS 动态计算UITableViewCell 高度 以及计算UILable 高度 自定义Cell
- 用Java进行动态公式处理
- 动态改变Drawable中我们自定义背景的颜色并设置颜色以16进制进行设置
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】
- Excel无法进行公式计算
- Lucene实现自定义相似度计算公式
- .net 评分计算--使用配置公式进行计算
- 自定义计算公式的原理
- c#根据公式进行自动计算的实现
- 自定义公式的计算处理
- 动态计算自定义 UITableViewCell 的高度
- 使用自定义annotation接口进行aspectj动态缓存
- 动态公式计算
- C#中字符串转换为计算公式(自定义公式的计算)