简单账表的过滤条件框如何进行过滤
金蝶云社区-天冥异
天冥异
7人赞赏了该文章 4146次浏览 未经作者许可,禁止转载编辑于2018年07月27日 11:31:04

在简单账表中,如何根据过滤条件框进行过滤
1.png 
上图是过滤条件框,在简单账表中已经关联了。
请问在页面加载时如何根据这3个字段进行过滤,
写插件还是怎么???


在服务端插件取数时,将这3个字段的值拼到取数SQL中,作为过滤条件
以下为简单示例,如果获取快捷页签的过滤数据。示例代码,仅做演示,实际情况,需要斟酌修改。

  1. public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)

  2.         {

  3.             base.BuilderReportSqlAndTempTable(filter, tableName);

  4.             string sSQL = string.Empty;

  5.             /*

  6.              * 拼接取数SQL,自己搞定

  7.              * */


  8.             //获取快捷页签的过滤字段数据

  9.             DynamicObject customFil = filter.FilterParameter.CustomFilter;

  10.             //拼成过滤条件

  11.             string sWhere = string.Empty;

  12.             sWhere = string.Format("Where FNumber = '{0}' AND FText = '{1}'", customFil["FNumber"], customFil["Ftext"]);

  13.             DBUtils.Execute(this.Context, sSQL);

  14.         }

复制代码


customFil可获取文本框的值,但是我要获取基础资料下的Fnumber怎么获取呢?


filter.FilterParameter.CustomFilter数据包里面包含基础资料字段的数据包,展开这个数据包,可以拿到编码报表过滤.png 

  1. ((DynamicObject)customFil["F_kd_Base"])["Number"]

复制代码


怎么获取过滤框的多选下列列表的值


// 拼接过滤条件 : filter
            DynamicObject dyFilter = filter.FilterParameter.CustomFilter;

            //日期取值
            DateTime fldDateValue = Convert.ToDateTime(dyFilter["F_PAEZ_Date"]);

            //多选下来列表取值,取出来效果如"3,5,6"使用逗号分割的
            String color = Convert.ToString(dyFilter["F_PAEZ_MulCombo1"]);

            //多选基础资料取值,以物料为例
            DynamicObjectCollection dyCollection = dyFilter["F_PAEZ_MulBase1"] as DynamicObjectCollection;

            foreach (DynamicObject dobj in dyCollection)
            {
                long supplierId = Convert.ToInt64(dobj[0]);
                //物料
                DynamicObject materiel = dobj["F_PAEZ_MulBase1"] as DynamicObject;
                //物料编号
                string materielNumber = materiel["Number"].ToString();
                //物料名称
                string materielName = materiel["Name"].ToString();
            }

赞 7