2017-05-19 6 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의 자바 객체에 정의되어 있지 않습니다 ACTIVE 요소입니다. ACTIVE 내가 비록 찾고 있어요 열입니다. –

답변

2

쿼리 열 이름에 대괄호 표기법을 사용하면 행 번호도 포함시켜야한다고 생각합니다.

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

하거나는 1로 CurrentRow 대신 전달하는 경우 단지 하나의 기록되지 루프 등

+0

I을 그 요소로 CurrentRow이 오류가 QUERYSEARCH에 정의되어 있지 않습니다 얻을. –

+0

내가 오타를했다 ... qrySearch –

+1

이것은 는 감사합니다 일 도움을 위해 :) –