zoukankan      html  css  js  c++  java
  • Unigui unidbgrid+unidac uniquery联合使用时产生的奇葩问题

    如下一个uniquery查询:

    SELECT a.id,a.userid,a.name,
    if(a.completed='T',CONCAT('<a  class="icons" href="#',a.id,'" title="',a.subject,'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',a.subject,'</a>'),
    CONCAT('<a  class="iconsf" href="#',a.id,'" title="',a.subject,'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',a.subject,'</a>')) subject,
    b.FullName,getusernamebyid(a.modifieduserid) lastuser,DATE_FORMAT(a.modifiedon,'%y-%c-%e-%k:%i') modifiedon,a.workflowinstancekey,a.workflowdefinitionkey,if(a.completed='T',CONCAT('<p15>',c.status,'</p15>'),CONCAT('<p7>',c.status,'</p7>')) statu,completed FROM wstaskinstance a,users b,taskstlist c WHERE a.userid=b.UserID and a.id=c.id
    使用到unidbgrid上正常;

          但是,加一个排序后的如下查询:

    SELECT a.id,a.userid,a.name,
    if(a.completed='T',CONCAT('<a  class="icons" href="#',a.id,'" title="',a.subject,'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',a.subject,'</a>'),
    CONCAT('<a  class="iconsf" href="#',a.id,'" title="',a.subject,'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',a.subject,'</a>')) subject,
    b.FullName,getusernamebyid(a.modifieduserid) lastuser,DATE_FORMAT(a.modifiedon,'%y-%c-%e-%k:%i') modifiedon,a.workflowinstancekey,a.workflowdefinitionkey,if(a.completed='T',CONCAT('<p15>',c.status,'</p15>'),CONCAT('<p7>',c.status,'</p7>')) statu,completed FROM wstaskinstance a,users b,taskstlist c WHERE a.userid=b.UserID and a.id=c.id
    order by completed

    则使unidbgrid的subject列变为memo类型而不能正常显示,不知道是什么原因。

    解决办法:

    不在uniquery组件的sql语句中使用order by,而在uniquery的indexfieldnames属性值指定排序字段,如indexfieldnames:='completed;modifiedon desc',

    则问题可以解决。

  • 相关阅读:
    多线程中变量的内存分配
    VS2019解决Cannot resolve symbol ' '问题
    排序算法——选择排序
    观察者模式
    c# 之linq——小白入门级
    c# 迭代器
    MySql学习
    rabbitmq安装及简单demo练习
    VMware Workstation 12 PRo密钥
    远程过程调用——RPC
  • 原文地址:https://www.cnblogs.com/wxb-km/p/5015035.html
Copyright © 2011-2022 走看看