Функция jqgrid ведет себя странно в Coldfusion 2018 - PullRequest
0 голосов
/ 05 марта 2020

У меня есть эта функция

<cffunction name="queryConvertForJQGRID" access="package" returntype="any" output="false">
        <cfargument name="q" type="query" required="yes">
        <cfargument name="page" type="numeric" required="no" default="1">
        <cfargument name="rows" type="numeric" required="no" default="500">
        <cfset var result = structnew()>
        <cfset var rowStruct = structnew()>
        <cfset var col = "">
        <cfset result["page"] = arguments.page>
        <cfset result["total"] = ceiling(arguments.q.TotalrecordCount/arguments.rows)>
        <cfset result["records"] = arguments.q.TotalrecordCount>
        <cfset result["rows"] = arraynew(1)>
        <cfset queryDeleteColumn(arguments.q,'TotalrecordCount')>
        <cfset queryDeleteColumn(arguments.q,'rowNum')>
        <cfif server.coldfusion.productname eq 'lucee'>
            <cfset columnLabels = QueryColumnArray(arguments.q)>
        <cfelse>
            <cfset columnLabels = arguments.q.columnList.listToArray()>
        </cfif>
        <cfloop query="#arguments.q#">
            <cfset rowStruct = [:]><!--- Tada an ordered struct --->
            <cfloop array="#columnLabels#" item="col">
               <cfset rowStruct[col] = arguments.q["#col#"]>
            </cfloop>
            <cfset arrayappend(result.rows, rowStruct)>
        </cfloop>
        <cfreturn result />
    </cffunction>

отлично работает с lucee, но в Coldfusion 2018 каждая строка показывает значение как разделенную запятой, и все строки находятся во всех строках. это очень странно

Снимок экрана

вот скриншот https://prnt.sc/rcltqm

, поэтому у меня вот так

<cfset retJSON = queryConvertForjQGrid(local.returnQry, arguments.page, arguments.rows)>
        <cfdump var="#retJSON#" abort>

и структура возвращается как это

https://prnt.sc/rcniba

...