2

ルックアップ フィールドを持つオブジェクトがあり、VisualForce ページ内のそのフィールドで InlineEditSupport を使用したいと考えています。

ただし、apex:outputField タグはルックアップ項目をハイパーリンクとしてレンダリングし、inlineEditSupport ロジックをオーバーライドします。

例えば

<apex:page standardController="Contact">


    <apex:outputField value="{!Contact.LastName}">
        <apex:inlineEditSupport event="ondblclick"/>
    </apex:outputField>

    <apex:outputField value="{!Contact.AccountId}">
        <apex:inlineEditSupport event="ondblclick"/>
    </apex:outputField>


</apex:page>

この例では、 LastName 項目は apex:outputField タグによってレンダリングされ、ダブルクリックすると編集可能な項目に変換されます。

ただし、「Account」フィールドは Account レコード自体へのハイパーリンクとしてレンダリングされ、クリック イベントが発生する前にアクションが実行されます。

別の JavaScript イベント、つまりマウスオーバーを使用してこれを機能させることができますが、これは特にユーザー フレンドリーではありません一貫したユーザー エクスペリエンスを維持し、ダブルクリック アクションを使用する必要があります。

アカウント フィールドがリンクとして表示されないようにする方法、またはその横に「編集」アイコンを挿入する方法はありますか?

4

3 に答える 3

0

あなたはセールスフォースのドキュメントを試しましたか?

<apex:page standardController="Contact">
<apex:form >
    <apex:pageBlock mode="inlineEdit">
        <apex:pageBlockButtons >
            <apex:commandButton action="{!edit}" id="editButton" value="Edit"/>
            <apex:commandButton action="{!save}" id="saveButton" value="Save"/>
            <apex:commandButton onclick="resetInlineEdit()" id="cancelButton" value="Cancel"/>
        </apex:pageBlockButtons>
        <apex:pageBlockSection >
            <apex:outputField value="{!contact.lastname}">
                <apex:inlineEditSupport showOnEdit="saveButton, cancelButton" hideOnEdit="editButton" event="ondblclick" changedStyleClass="myBoldClass" resetFunction="resetInlineEdit"/>
            </apex:outputField>
            <apex:outputField value="{!contact.accountId}"/>
            <apex:outputField value="{!contact.phone}"/>
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:form>

于 2012-04-17T00:20:06.470 に答える
0

これは最も単純な方法ではないかもしれませんが、以前に行ったことは、ルックアップでレコードの名前の選択リストを作成することです。とにかく、これはセールスフォースのルックアップボックスよりもユーザーにとって良いと思います(何百もある場合を除きます)。必要なことは、コントローラーで選択オプションのリストを作成し、それらを theList などの変数に割り当ててから、配置したい場所に {!theList} を参照することです (大まかに、ドキュメントを参照してください)。選択オプションでは、レコード名をラベルとして、レコード ID を値として持つ必要があります。その後、ID をルックアップ フィールドに直接割り当てることができます。

于 2012-04-12T10:36:48.477 に答える