Я передаю список в таблицу pageblock, и моя таблица выглядит так: введите здесь описание изображения

Я хочу изменить значения таблицы. Я попробовал приведенный ниже код. Это мой код страницы VF

<apex:pageBlockSection id="section2" columns="2" collapsible="true" title="Configure Complexity">
    <apex:pageBlockTable style="margin-left: 80%;width:30%" value="{!LMComplexity}" var="com">
        <apex:inlineEditSupport showOnEdit="update, cancelButton"
                                hideOnEdit="editButton" event="ondblclick"
                                changedStyleClass="myBoldClass" resetFunction="resetInlineEdit"></apex:inlineEditSupport>
        <apex:column headerValue="Class" value="{!com.Class__c}" />
        <apex:column headerValue="Maximum Days" value="{!com.Maximum_Complexity_Score__c}"/>
        <apex:column headerValue="Minimum Days" value="{!com.Minimum_Complexity_Score__c}"/>
        
    </apex:pageBlockTable>
    <apex:commandButton id="update" action="{!quickUpdat}"/>
</apex:pageBlockSection>

И мой код контроллера выглядит так

public class profileList {
    public profileList(ApexPages.StandardController controller) {}
    public List <LM_Default_Weightage__mdt> result{get;set;}
    Boolean testval = false;
            
    public profileList() {
        result= Database.query('Select Class__c, Maximum_Complexity_Score__c,Minimum_Complexity_Score__c From LM_Default_Complexity__mdt');
    }
    public PageReference quickUpdat() {
        try {
            return ApexPages.CurrentPage();
        } catch(Exception e) {
            System.debug('@@@Error');
            return null;
        }
    }
    public list<LM_Default_Complexity__mdt> getLMComplexity() {
        List<LM_Default_Complexity__mdt> comp=  [Select Class__c, Maximum_Complexity_Score__c,Minimum_Complexity_Score__c From LM_Default_Complexity__mdt];
        return comp;
    }
}

Итак, в основном я запрашиваю свои пользовательские метаданные, помещаю их в список и возвращаю. Наконец, отображаю возвращенный список в таблице страниц. Можно ли редактировать таблицу?

Примечание. Я попытался напрямую передать пользовательские метаданные, но не могу редактировать таблицу. Пользовательские метаданные недоступны для редактирования.

1
Sunil Kumar 4 Июл 2021 в 17:14
Используя класс-оболочку и добавив флажок для всех строк, вы можете редактировать его в строке.
 – 
cloudZigZag
5 Фев 2019 в 13:41
Не могли бы вы предоставить мне несколько образцов? было бы полезно
 – 
SKH
5 Фев 2019 в 15:26

2 ответа

Используйте apex:inputField внутри столбца.

<apex:column headerValue="Maximum Days">
 <apex:inputField value="{!com.Maximum_Complexity_Score__c}"/>
</apex:column>
<apex:column headerValue="Minimum Days">
 <apex:inputField value="{!com.Minimum_Complexity_Score__c}"/>
</apex:column>
0
sfdcfox 5 Фев 2019 в 16:01
Это тоже не сработало. Я передаю список в эту таблицу pageblock
 – 
SKH
5 Фев 2019 в 17:59
Да, это должно сработать. В чем проблема, с которой вы столкнулись?
 – 
sfdcfox
5 Фев 2019 в 18:08
Когда я дважды щелкаю строку таблицы, она не находится в режиме редактирования. Я не могу редактировать какие-либо значения в таблице
 – 
SKH
5 Фев 2019 в 18:16

Основываясь на коде, который вы предоставили в своем сообщении, можете ли вы подтвердить, планируете ли вы встроенное редактирование записей настраиваемого типа метаданных или записи настраиваемого объекта?

Вот пример кода из руководства разработчика Salesforce, который показывает встроенное редактирование. Можете ли вы попробовать, как показано ниже?

https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start_inline_editing.htm

<apex:page standardController="Account" recordSetVar="records" id="thePage"> 
    <apex:form id="theForm"> 
        <apex:pageBlock id="thePageBlock"> 
            <apex:pageBlockTable value="{!records}" var="record" id="thePageBlockTable"> 
                <apex:column >
                    <apex:outputField value="{!record.Name}" id="AccountNameDOM" /> 
                    <apex:facet name="header">Name</apex:facet>
                </apex:column>
                <apex:column >
                    <apex:outputField value="{!record.Type}" id="AccountTypeDOM" /> 
                    <apex:facet name="header">Type</apex:facet>
                </apex:column>
                <apex:column >
                    <apex:outputField value="{!record.Industry}" 
                        id="AccountIndustryDOM" />  
                        <apex:facet name="header">Industry</apex:facet>
                </apex:column>
                <apex:inlineEditSupport event="ondblClick" 
                        showOnEdit="saveButton,cancelButton" hideOnEdit="editButton" /> 
            </apex:pageBlockTable> 
            <apex:pageBlockButtons > 
                <apex:commandButton value="Edit" action="{!save}" id="editButton" />
                <apex:commandButton value="Save" action="{!save}" id="saveButton" />
                <apex:commandButton value="Cancel" action="{!cancel}" id="cancelButton" />
            </apex:pageBlockButtons> 
        </apex:pageBlock> 
    </apex:form>
</apex:page>
0
Sunil Kumar 4 Июл 2021 в 08:36