Регистрация  |  Вход

В контроллер Visualforce странички приходит 0 вместо null

<apex:form id="f" >
<br/>
<apex:messages />
<br/>
<apex:actionStatus startText=" PROCESSING... " stopText=" " id="actionStatus" startStyle="color:red;"/>
<br/>
<br/>
<apex:pageBlock title="{!opportunity.Name}" id="pb">
<apex:pageBlockTable id="pbt" value="{!dtoList}" var="dtoItem" >
<apex:column id="ahC" headerValue="Actual Hours" width="2%" >
<apex:input id="ahI" value="{!dtoItem.ActualHours}" type="number" size="6" style="width:50px;"
onkeyup="updateTotalPrice('{!$Component.p.f.pb.pbt.ahI}','{!$Component.p.f.pb.pbt.srI}','{!$Component.p.f.pb.pbt.etpOT}');"
onchange="updateTotalPrice('{!$Component.p.f.pb.pbt.ahI}','{!$Component.p.f.pb.pbt.srI}','{!$Component.p.f.pb.pbt.etpOT}');"
/>
</apex:column>
<apex:column headerValue=" " width="20%">
<apex:commandButton value="Save" action="{!saveItem}" rerender="f" status="actionStatusItem">
<apex:param name="selectedDTOId" value="{!dtoItem.id}" assignTo="{!selectedDTOId}"/>
</apex:commandButton>
<apex:actionStatus startText=" PROCESSING... " stopText="" id="actionStatusItem" startStyle="color:red;" stopStyleClass="actionStatusItemStyle"
onstop="onstop_SaveItem(this);"
/>
</apex:column>
</apex:pageBlockTable>

<apex:pageBlockButtons >
<apex:commandButton value="Save" action="{!customSave}" rerender="f" status="actionStatus"/>
<apex:commandButton value="Back" action="{!cancel}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>


Проблема. Если поле Actual Hours пустое, то в customSave метод в DTO находится 0, a мне очень хочется null.
Это возможно? Как?

[code]<apex:form id="f" >
    <br/>
    <apex:messages />
    <br/>
    <apex:actionStatus startText=" PROCESSING... " stopText=" " id="actionStatus" startStyle="color:red;"/>
    <br/>
    <br/>
    <apex:pageBlock title="{!opportunity.Name}" id="pb">
      <apex:pageBlockTable id="pbt" value="{!dtoList}" var="dtoItem" >
        <apex:column id="ahC" headerValue="Actual Hours" width="2%" >
          <apex:input id="ahI" value="{!dtoItem.ActualHours}" type="number" size="6" style="width:50px;" 
            onkeyup="updateTotalPrice('{!$Component.p.f.pb.pbt.ahI}','{!$Component.p.f.pb.pbt.srI}','{!$Component.p.f.pb.pbt.etpOT}');"
            onchange="updateTotalPrice('{!$Component.p.f.pb.pbt.ahI}','{!$Component.p.f.pb.pbt.srI}','{!$Component.p.f.pb.pbt.etpOT}');"
          />
        </apex:column>
        <apex:column headerValue=" " width="20%">
          <apex:commandButton value="Save" action="{!saveItem}" rerender="f" status="actionStatusItem">
            <apex:param name="selectedDTOId" value="{!dtoItem.id}" assignTo="{!selectedDTOId}"/>
          </apex:commandButton>
          <apex:actionStatus startText=" PROCESSING... " stopText="" id="actionStatusItem" startStyle="color:red;" stopStyleClass="actionStatusItemStyle" 
            onstop="onstop_SaveItem(this);"
          />
        </apex:column>
      </apex:pageBlockTable>
          
      <apex:pageBlockButtons >
        <apex:commandButton value="Save" action="{!customSave}" rerender="f" status="actionStatus"/>
        <apex:commandButton value="Back" action="{!cancel}"/>
      </apex:pageBlockButtons>
    </apex:pageBlock>
  </apex:form>[/code]


Проблема. Если поле Actual Hours пустое, то в customSave метод в DTO находится 0, a мне очень хочется null.
 Это возможно? Как?

Не уверен что в твоем примере это возможно. Ты используешь поле ввода с типом number. Хочешь получить null используй inputfield

Не уверен что в твоем примере это возможно. Ты используешь поле ввода с типом number. Хочешь получить null используй inputfield

wilder
Не уверен что в твоем примере это возможно. Ты используешь поле ввода с типом number. Хочешь получить null используй inputfield

Работает, спасибо!

[quote="wilder"]Не уверен что в твоем примере это возможно. Ты используешь поле ввода с типом number. Хочешь получить null используй inputfield[/quote]
Работает, спасибо!