递归方法的使用–

递归适合应用于对 一个对象中嵌套同中类型对象的处理。例如:一个盒子里面有个糖和一个小盒子,小盒子中也有一个糖和一个更小的盒子,这个更小的盒子中又有一个糖和更加小的盒子…..层层嵌套,规律是:盒子里面有糖果。如果用代码模拟此情景,要取出所有盒子里面糖果,可以用递归方法实现。

代码模拟如下:

 

再举一应用中的实际例子:在Index页面,对Grid中执行过滤查询时,从顾虑条件中提取并组合为sql的where条件片段。

在FMS系统交货计划的Index页面,要对Grid多个列进行筛选过滤查询,如下图一。

页面查询传递参数到后端,过滤参数格式具体如下图:

介绍:

1,如果是只对单列做了单个查询条件,参数类型是FilterDescriptor,可直接,此时可直接通过FilterDescriptor类型的属性Member、Operator、Value拼成sql条件,例如:ShippingTypeId=2

2,如果有多列筛选,或单列中有多个条件,则筛选条件类型为CompositeFilterDescriptor,即混合过滤条件,混合顾虑条件中的可能仍有混合条件…层层嵌套,规律是:混合过滤条件层层提取,最终的类型FilterDescriptor,并且都有LogicOperator来连接两个条件。具体的实现代码如下。

 

为您推荐

发表评论