0

这里 hidden_​​field__c 是一个复选框。在 VFP 中,如果用户在数据库中将复选框更改为 true,它仍然显示为 false,反之亦然,有人可以指出我的代码中缺少什么吗?这是我的代码。

- - - - - -控制器 - - - - - - -

public class dataTableCon {

    List<Account> accounts;

    public List<Account> getAccounts() {

        if(accounts == null) accounts = [select name, owner.name,hidden_field__c from account limit 10];

        return accounts;

    }

}

----------VFP----------

<apex:page controller="dataTableCon" id="page">

    <apex:form >

    <apex:pageBlock id="theBlock">

    <apex:dataTable value="{!accounts}" var="account" id="theTable" rowClasses="odd,even" styleClass="tableClass">

        <apex:column >
            <apex:facet name="header">Private</apex:facet>
            <apex:inputCheckbox value="{!account.hidden_field__c}" >
             <apex:actionSupport event="onchange" rerender="theBlock"/>
           </apex:inputCheckbox>           
        </apex:column>


        <apex:column >
            <apex:facet name="header">Name</apex:facet>
            <apex:outputText value="{!account.name}"  >
        </apex:column>

        <apex:column >
            <apex:facet name="header">Owner</apex:facet>
            <apex:outputText value="{!account.owner.name}"  >
        </apex:column>

    </apex:dataTable> 

    </apex:pageBlock>
    </apex:form>
</apex:page>  
4

1 回答 1

0

您需要有一些机制来实际保存更改。尝试在 <apex:form> 中添加<apex:commandButton>,然后让该按钮调用保存的操作。

顶尖:

public PageReference save()
{
  update accounts;
}

视觉力量:

<apex:commandButton value="Save" action="{!save}"/>
于 2014-01-11T21:08:11.980 回答