簡體   English   中英

根據 vf 頁面中的關鍵字顯示記錄

[英]Displaying Records based on keyword from vf page

我有一個場景,我將在 vf 頁面上顯示輸入文本字段,當我輸入一些值並單擊搜索按鈕時,應根據該關鍵字顯示真實帳戶。 我嘗試了以下代碼,但無法解決錯誤Unknown property 'VisualforceArrayList.Name'以下是我的代碼:class:

public class AccountswithKeywordfrompage {
    public string keyword{get;set;}
    public List<List<Account>> accountlist{get;set;}
    public void Accounts(){
        keyword = System.currentPageReference().getParameters().get('search');
        accountlist=[FIND '+keyword' IN ALL FIELDS 
                     RETURNING Account(Name)];
    }
}

vf 頁面:

<apex:page controller="AccountswithKeywordfrompage" standardStylesheets="false">

 <apex:form>
        <apex:inputText label="SearchAccounts" id="search">
            <apex:commandButton value="search" action="{!Accounts}"/>
        </apex:inputText> 
        <apex:pageblock>
            <apex:pageblockTable value="{!accountlist}" var="accountobj">
                <apex:outputlink value="{!accountobj.Name}"/>
            </apex:pageblockTable>   
        </apex:pageblock>
    </apex:form>  
</apex:page>  

誰能幫我解決這個問題?

accountlistList<List<Account>> ,這是錯誤的類型; SOSL 搜索返回List<List<sObject>> 碰巧您的 SOSL 搜索只返回帳戶結果。

當您遍歷List<List<sObject>>時:

<apex:pageblockTable value="{!accountlist}" var="accountobj">

迭代變量的類型是List<Account> ,它沒有Name屬性。

最干凈的解決方案是將變量聲明為List<Account>並從 SOSL 中提取返回的List<List<sObject>>的第一個元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM