function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
ramya1ramya1 

Re rendering with rich text field..

Hi,

 

Am using wrapper class in adding new row and deleting row functionality...

 

when we click button on addrow link,new row gets added...when we click delete button on a particular row,the row gets deleted...

 

am getting an error while trying to use rerender in the delete button, it gets rendered to pageblock table where am using rich text field...

 

getting an error as : Rerender is not currently supported with rich text editing enabled.

 

If i try to remove the rerender,then the row was not getting deleted.......can anyone help me to solve this issue..

 

Thanx in advance!!

.

 

 

SFDC_LearnerSFDC_Learner

Can you paste ur code.

ramya1ramya1

Delete Method that I have used in the class :

 

public List<FulfillWrapper> wrappers {get; set;}

public static Integer toDelIdent {get; set;}

 private Integer nextIdent=0;

 

//Delete Functionality

 

public void delWrapper()
 {
  Integer toDelPos=-1;
  for (Integer idx=0; idx<wrappers.size(); idx++)
  {
   if (wrappers[idx].ident==toDelIdent)
   {
    toDelPos=idx;
   }
  }
  if (-1!=toDelPos)
  {
   wrappers.remove(toDelPos);
  }
 }

 

// INNER CLASS

 

 public class FulfillWrapper
 {

 public Problems__c acc {get; private set;}

 

 public FulfillWrapper(Integer inIdent)
   {

INC = [select id from Assessment__c where id=:Apexpages.currentpage().getparameters().get('id')];

acc=new Problems__c(Assessment__c =inc.id);

   }

}

 

 

On Page :

 

<apex:pageBlockTable value="{!wrappers}" var="wrapper" id="wtable">

 

         <apex:column headerValue="Problem">
            <apex:inputfield value="{!wrapper.acc.Problem_Content__c}"/>
        </apex:column>

 

       <apex:column headerValue="Action">
            <apex:commandButton value="Delete" action="{!delWrapper}" rerender="wtable">
               <apex:param name="toDelIdent" value="{!wrapper.ident}" assignTo="{!toDelIdent}"/>
            </apex:commandButton>
        </apex:column>
         
      </apex:pageBlockTable>

 

 

From the above....

 

Problem_Content__c is Richtextfield....

 

bob_buzzardbob_buzzard

When you don't have a rerender on your commandbutton, any nested parameters don't get passed through and are null when your action method runs.  I suspect this is because when you remove the rerender you remove the AJAXness, but I've never seen anything documented around this.

 

The way I've handled this is to have a hidden input field that contains the ID and to set the value into that through javascript before executing the action method.  That way the value is updated in the same way that all the other input fields are and is available to my controller.

ramya1ramya1

Hi  bob.

 

Can u please tell me how to have a hidden input field with id and setting the value through java script before executing the method...

 

Can you please help me with this? 

 

 

Thanks in Advance!!

bob_buzzardbob_buzzard

A hidden field is just that:

 

  <apex:inputHidden id="chosen" value="{!chosenRec}" />

 

and you can set the value in JS via something like:

 

  function setChosenAnswer(chosenAnswer)
  {
     document.getElementById('{!$Component.frm.chosen}').value=chosenAnswer;
  }