2017-05-19 49 views
0

您好,我一直負責在此coldfusion應用程序中替換所有evaluate()函數。我有一些相當複雜的評估問題,我只是無法找到它。試圖在ColdFusion中用動態標記替換所有評估函數9

當它像 這是一個簡單的變化:

<cfif isNumeric(evaluate("form.value_#REPORT_FIELD_ID#"))> 

這樣:

<cfif isNumeric(form["value_" & REPORT_FIELD_ID])> 

這一切都很好,但對於這樣的:

<cfif evaluate("qrySearch.#qryReportFields.FIELD_NAME[qryReportFields.currentRow]#") eq true> 

與其說

我嘗試了幾件事情。我以爲這會工作

<cfif qrySearch[#qryReportFields.FIELD_NAME[qryReportFields.currentRow]#] eq true> 

但它拋出一個複雜的對象類型不能轉換爲簡單的值。錯誤。

任何幫助將不勝感激。

+0

嘗試使用變量的作用域爲頂層結構。另外,將當前行放入它自己的一組方括號中。 –

+0

qrySearch是什麼類型的變量? –

+0

它在變量範圍內。 我沒有運氣:(我現在收到此錯誤都嘗試。 元素活躍在類型類coldfusion.runtime.VariableScope的Java對象是不確定的。 ACTIVE是我要找的,雖然列。 –

回答

2

我相信,如果你使用括號表示查詢列名稱,你還必須包括行號。

<cfif qrySearch[qryReportFields.FIELD_NAME[qryReportFields.currentRow]][qrySearch.currentrow] eq true> 

或者只是通過1而不是currentrow,如果只有一條記錄,而不是在循環等

+0

我得到這個錯誤與元CURRENTROW在QUERYSEARCH不確定的。 –

+0

我有一個錯字... qrySearch –

+1

這個工作 謝謝對於幫助:) –