显示与查找字段相关的值

时间:2012-11-01 15:59:47

标签: salesforce visualforce

我很擅长使用Visualforce和Salesforce,所以请耐心等待......我正在教我自己如何通过复制销售代表用于记录订单的表单来构建visualforce页面。我很难弄清楚如何做一些(可能)非常基本的事情,我希望有人可以帮我指出正确的方向。我已经找到了很多关于如何处理事情的指示,这些事情要么是我想要的,要么是我想要的,而不是我正在寻找的东西,这让我非常困惑于为实现这个目标需要做些什么。工作

这是我到目前为止所做的......

我在我的页面上设置了一个Lookup字段,允许用户填充销售代表是谁(使用User对象)。我有点困惑,为什么我会看到一个文本框和一个搜索按钮,而不只是提供了一个可供选择的Reps下拉框,但我想这不是在这里也不是......

<apex:page standardController="Order__c" extensions="OrderNewExtension">
<apex:actionRegion >
    <apex:inputField value="{!Order__c.User__c}" required="true" id="userID">
        <apex:actionSupport event="onchange" reRender="salesRepDetails" />
    </apex:inputField>
</apex:actionRegion>

<apex:outputPanel id="salesRepDetails" rendered="true">
    <table border="0" cellspacing="0" cellpadding="5" width="75%" style="border: 1px solid magenta;">
        <tr>
            <td colspan="2" width="50%">&nbsp;</td>
            <td><apex:outputLabel value="Phone: " for="repPhone" /></td>
            <td class="data">***Something needs to go here***</td>
        </tr>
        ...
    </table>
</apex:outputPanel>

我想用这个做两件事 -

1)用户选择销售代表后,我希望显示所选代表的电子邮件和电话号码。 2)(sorta可选)我希望这个字段预先填充当前用户的名称和数据,这样,只有当我们的一个支持人员输入某个内容时才需要查找代表。其他人。这有意义吗?

我不确定有什么人需要帮助我,但如果我能够在这里获取这些信息,我会这样做。

2 个答案:

答案 0 :(得分:4)

你的控制器:

public with sharing class yourController
{
    // Defining objects
    public User selectedUser { get; set; }
    public Order__c order { get; set; }

    // Constructor where the user data will be pre-populated
    public yourController()
    {
        order = new Order__c();
        order.User__c = UserInfo.getUserId();
        selectedUser = [ Select Id, Email, Phone From User Where Id = :UserInfo.getUserId() ];
    }

    // Method for reading selected user data
    public pageReference readUser()
    {
        selectedUser = [ Select Id, Email, Phone From User Where Id = :order.User__c ];
        return null;
    } 
}

Visualforce页面:

<apex:outputPanel id="userDetails">
    <apex:pageBlock>
        <apex:pageBlockSection columns="1">
            <apex:inputField value="{!order.User__c}">
                <apex:actionSupport event="onchange" action="{!readUser}" reRender="userDetails"/>
            </apex:inputField>
            <apex:outputField value="{!selectedUser.email}"/>
            <apex:outputField value="{!selectedUser.phone}"/>
        </apex:pageBlockSection>
    </apex:pageBlock>    
</apex:outputPanel>

答案 1 :(得分:-2)

我认为你想要像预测查找字段那样的东西。我创造了一些可能有用的东西 http://tweaksalesforce.blogspot.in/2015/06/simple-lookup-field-with-drop-down-list.html?m=1