zoukankan      html  css  js  c++  java
  • 关于H3 BPM数据库如何实现排序取数据的问题

    问题:

    在打印模板中获取子表内容,可从数据库中取数据,而当前项目数据库里面数据按年度录入,但是只需要显示近3年的数据,插件如何实现排序取数据?

    解决方法:

    1、先直接写一个SQL语句,把近3年排序后的数据读取出来

    2、在调用子表接口加载数据

    3、示例:

    varmonthly = DateTime.Now.Month;

                var selectsql =string.Format(@"SELECT

    t1.Yearly,

                                                 t1.Monthly,

                                                 t1.BudgetUnitName,

                                                 t1.BudgetUnitCode,

                                                  t1.BudgetItemName,

                                                 t1.BudgetItemCode,

                                                 t1.Budget

                                                 FROM XL_YS_BudgetPay t1

                                                  WHEREt1.Yearly = {0}

                                                 --AND Monthly > {1}

                                                 AND t1.BudgetUnitCode = '{2}'

                                                 AND BudgetItemCode = '{3}'

                                                 ORDER BY Monthly", yearly, monthly, budgetunitcode,budgetitemcode);

    var dt =OThinker.H3.WorkSheet.AppUtility.Engine.Query.QueryTable(selectsql);

    var list = newList<BizObject>();

    var monthlist = newList<string> { "Jan", "Feb", "Mar","Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov","December" };

    if (dt.Rows.Count > 0)

    {

    //DeptCostBudgetInfo 为子表名称

    BizObjectSchemachildSchema = this.ActionContext.Schema.GetProperty("DeptCostBudgetInfo").ChildSchema;

    varbizObject = new BizObject(this.ActionContext.Engine, childSchema,this.ActionContext.User.UserID);

    bizObject["DataType"]= "原始";

    bizObject["BudgetItemName"]= dt.Rows[0]["BudgetItemName"].ToString();

    bizObject["BudgetItemCode"]= dt.Rows[0]["BudgetItemCode"].ToString();

    varbizObject2 = new BizObject(this.ActionContext.Engine, childSchema,this.ActionContext.User.UserID);

    bizObject2["DataType"]= "修改";

    bizObject2["BudgetItemName"]= dt.Rows[0]["BudgetItemName"].ToString();

    bizObject2["BudgetItemCode"]= dt.Rows[0]["BudgetItemCode"].ToString();

    for(int i = 0; i < monthlist.Count; i++)

    {

    bizObject[monthlist]= dt.Rows["Budget"].ToString();

    bizObject2[monthlist]= dt.Rows["Budget"].ToString();

    }

    list.Add(bizObject);

     list.Add(bizObject2);

      }

      if (bos != null)

      {

          if (bos.Length > 1)

         {

            list.AddRange(bos);

        }

     }

     this.ActionContext.InstanceData["DeptCostBudgetInfo"].Value =list.ToArray();

     ActionContext.InstanceData.Submit();

  • 相关阅读:
    改变Edit的光标(使用CreateCaret,ShowCaret和LoadBitmap三个API函数)
    浅析Delphi Container库(有开源的DCLX)
    Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good
    Asp.Net在多线程环境下的状态存储问题
    C#程序中注释过多的8条理由
    CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
    Microsoft 2013校园招聘笔试题及解答
    代码契约CodeContract(八)
    T-SQL 临时表、表变量、UNION
    BST&AVL&红黑树简单介绍
  • 原文地址:https://www.cnblogs.com/1774bpm/p/6296556.html
Copyright © 2011-2022 走看看