Memos About Salesforce

Salesforceにハマってたこと!

salesforce 画面 日付項目 リンク 非表示

こんにちは、管理人の@Salesforce.Zです。

Salesforceの画面を慣れていないユーザの請負をする場合

たまにあるニーズである、編集画面の日付項目の横にある日付リンクを消してほしい

今回、そのやり方を共有します。

読んだら得ること

★ VF画面の日付項目の横の日付リンクを消す(特定項目のみ)

目次

VF画面の日付のよくにあるリンクを消す

問題

標準タグapex:inputfieldは画面上では、右にある現在日付リンクがある

配置上では、スペースも使ってしまうし、そもそも消えてほしいニーズもたまにある、現在日付の入力は便利だけど。

対策

Visualforce componentを用意し、CSSでリンクを消す

f:id:jude2016:20190513114254p:plain
日付リンクある画像

コンポーネント名はhideDateLinkとする

<apex:component access="global">
<style>
    div.hideCurrDate span.dateInput span.dateFormat{
       display:none;
    }
</style>
<div class="hideCurrDate">
<apex:componentBody />
</div>
</apex:component>

使用方法

対象apex:inputfieldの前後に

作成したコンポーネントタグをつける

<apex:page standardController="Contact">
    <apex:form>
        <apex:pageBlock>
            <apex:pageBlockSection>
                <c:hideDateLink>
                    <apex:inputField value="{!Contact.Birthdate}"/>
                </c:hideDateLink>
            </apex:pageBlockSection>

    &lt;/apex:pageBlock&gt;
&lt;/apex:form&gt;

</apex:page>

最後に

VFのCSSで直接も消すことができるが、全ページに適用してしまうため、

コンポーネントを使うことによって、特定の部分のみ消せるです。

ご参考にしてください。