1

私はこれにまったく慣れていません、タスクは私に重要なものとして投げかけられました、そして私はこれまでこのようなことをしたことがありません。私は大まかにこれを含むテンプレートを与えられました:

        <apex:column headervalue="Amount"><c2g:CODAFormatterController number="{!IF([some condition],[something],[something else])}"/></apex:column>

ステートメントを条件/何か/何か他のものに置き換えました

javascriptで行うように関数を使用する方法はありますか?

number = "getNumber(x);"

または、何らかの方法でいくつかのIFステートメントをチェーン化する必要がありますか?IF ... ELSEはありますか?

Googleで0の結果を返したので、CODAFormatterControllerが何であるかわかりません。

何かアドバイスがあれば助かります、私はここの最深部に投げ込まれたのではないかと思います!

4

2 に答える 2

2

VForceインラインは機能的であり、最終的に値を返す必要があります。これは、単純な値またはサーバー側コードの呼び出しポイントです。これらは命令型コーディングをサポートしておらず、サーバー側で解決されています(JSが登場するずっと前に)。その点で、IF(condition,valuetrue,valuefalse)はIF..THEN..ELSE..ENDIFと同等です。

型の不一致がない限り、もちろん、任意の数の関数を自由にチェーンできます。つまり、valuetrue自体が、IF関数自体であることを含め、関数である可能性があります。

通常、人々がこの種の問題に遭遇した場合、わずかに異なるアプローチを使用することによる回避策が常にあります。それはすべてあなたがここで何をしようとしているのかに依存します...

于 2012-04-27T11:45:42.653 に答える
2

visualforceページで自分で作業をしているときに、この質問に出くわしました。とにかく、他の誰かがこの質問を見た場合、複雑なネストされたIFステートメントを使用する必要がないことを知っておく必要があります。これCASEで、Salesforceで使用できる関数ができました。

ドキュメント-https://developer.salesforce.com/docs/atlas.en-us.198.0.pages.meta/pages/pages_variables_functions.htm

{!CASE(Opportunity.StageName,
            "Prospecting", "1",
            "Needs Analysis", "2",
            "Proposal/Price Quote", "3",
            "default val")} <!-- the last one returns if none of the previous results matched -->
于 2015-10-22T12:22:10.903 に答える